centos7 安装CDH 6
PART1 安装前准备
step1: 修改主机名(所有节点,重启有效)
修改 vi /etc/hostname文件或者通过命令修改
# master hostnamectl set-hostname master # slave01 hostnamectl set-hostname slave01 # slave02 hostnamectl set-hostname slave02
设置映射主机名,将以下内容添加到 /etc/hosts 文件:
192.168.26.247 cm 192.168.26.248 master 192.168.23.237 slave1 192.168.23.238 slave2
各节点编辑 /etc/sysconfig/network, 填入各自的主机名。比如 master:
HOSTNAME=master
step2: 关闭防火墙(所有节点)
#查看防火墙 systemctl status firewalld.service #执行关闭命令 systemctl stop firewalld.service #执行开机禁用防火墙命令 systemctl disable firewalld.service
step3: 关闭 SELINUX (所有节点)
vi /etc/sysconfig/selinux
将 SELINUX=enforcing 改为 SELINUX=disabled
step4: 启用ntp (所有节点)
安装 ntp
yum install ntp
启动 ntp
systemctl enable ntpd systemctl start ntpd
编辑 /etc/ntp.conf 文件添加 NTP 服务器
server 0.cn.pool.ntp.org server 1.cn.pool.ntp.org server 2.cn.pool.ntp.org server 3.cn.pool.ntp.org
step5: 配置从 master 到所有 slave 的 ssh 免密登录
先在 master 上执行:
ssh-keygen -t rsa #一路回车到完成 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #赋予权限 chmod 600 ~/.ssh/authorized_keys
再在所有 slave 上分别执行:
ssh-keygen -t rsa #一路回车到完成 ssh-copy-id -i master #将公钥拷贝到master的authorized_keys上
在 master 上,将 authorized_keys 分发到其他节点服务器:
scp ~/.ssh/authorized_keys slave01:/root/.ssh/
step6: 禁用透明大页面压缩(所有节点)
缺省启用:[always] --- 表明启用了透明大页
[root@master redhat_transparent_hugepage]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never
禁用状态:
[root@master redhat_transparent_hugepage]# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]
执行以后命令
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
并将上面的两条命令写入开机自启动
vi /etc/rc.local
如果没有权限,赋予权限,否则无法执行
chmod +x /etc/rc.d/rc.local
step6: 优化虚拟内存(所有节点)
检查虚拟内存需求率 # cat /proc/sys/vm/swappiness 显示如下: 30 临时降低虚拟内存需求率 # sysctl vm.swappiness=10 永久降低虚拟内存需求率 # echo 'vm.swappiness = 0' > /etc/sysctl.d/swappiness.conf 并运行如下命令使生效 # sysctl -p
PART2 安装 Cloudera Manager 和 CDH
step1: 配置Cloudera Manager yum库
CM6 RPM:https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/
ASC文件: https://archive.cloudera.com/cm6/6.1.0/allkeys.asc
├── allkeys.asc ├── cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm ├── cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm ├── cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm └── cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm
CDH6 Parcels:https://archive.cloudera.com/cdh6/6.1.0/parcels/
需要下载CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel和manifest.json这两个文件MySQL JDBC驱动,要求使用5.1.26以上版本的jdbc驱动,可点击这里直接下载mysql-connector-java-5.1.47.tar.gz
安装httpd和createrepo:
yum -y install httpd createrepo
启动httpd服务并设置开机自启动:
systemctl start httpd
然后进入到前面准备好的存放Cloudera Manager RPM包的目录cloudera-repos下:
生成RPM元数据:
[root@cm cloudera-repos]# createrepo . Spawning worker 0 with 2 pkgs Spawning worker 1 with 2 pkgs Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
然后将cloudera-repos目录移动到httpd的html目录下:
mv cloudera-repos /var/www/html/
确保可以通过浏览器查看到这些RPM包:
接着在Cloudera Manager Server主机上创建cm6的repo文件(要把哪个节点作为Cloudera Manager Server节点,就在这个节点上创建repo文件):
cd /etc/yum.repos.d
vi cloudera-manager.repo
添加如下内容:
[cloudera-manager] name=Cloudera Manager 6.1.0 baseurl=http://192.168.26.247/cloudera-repos/ gpgcheck=0 enabled=1
保存,退出,然后执行yum clean all && yum makecache命令
step2: 安装 JDK 并写入环境变量(所有节点)
安装jdk
rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
写入环境变量:
/etc/profile 末尾添加以下内容
#set jdk environment export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
配置mysql jdbc驱动
从前面下载好的mysql-connector-java-5.1.47.tar.gz包中解压出mysql-connector-java-5.1.47-bin.jar文件,将mysql-connector-java-5.1.47-bin.jar文件上传至CM Server节点上的/usr/share/java/目录下并重命名为mysql-connector-java.jar(如果/usr/share/java/目录不存在,需要手动创建):
tar zxvf mysql-connector-java-5.1.47.tar.gz mkdir -p /usr/share/java/ cp mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar
step3: 安装数据库(MySQL)
yum install mariadb-server mariadb systemctl start mariadb #启动MariaDB systemctl stop mariadb #停止MariaDB systemctl restart mariadb #重启MariaDB systemctl enable mariadb #设置开机启动 #设置密码 /usr/bin/mysqladmin -u root password '123456'
step4: 安装 Cloudera Manager 软件包*
这一步只需要在CM Server节点上操作。
执行下面的命令:
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
step5: 设置 Cloudera Manager 数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cm -h localhost -uroot -p123456 --scm-host localhost scm scm scm
step6: 配置本地Parcel存储库
Cloudera Manager Server安装完成后,进入到本地Parcel存储库目录:
cd /opt/cloudera/parcel-repo
将第一部分下载的CDH Parcel文件(CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel和manifest.json)上传至该目录下,然后执行命令生成sha文件:
sha1sum CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel | awk '{ print $1 }' > CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha
然后执行下面的命令修改文件所有者:
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
step6: 启动Cloudera Manager Server服务
systemctl start cloudera-scm-server #查看错误 journalctl -xe
查看启动日志:
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
step7: 安装组件
登录 cloudera manager
访问 http://192.168.26.247:7180
登录帐号密码:admin admin
添加搜索主机
192.168.26.247,192.168.26.248, 192.168.23.237,192.168.23.238
自定义存储库
http://192.168.26.247/cloudera-repos/
ssh登录凭证
安装agent
检查主机
需要修改的选项如下
HDFS 根目录 /data/hbase
DataNode 数据目录 /data/dfs/dn
NameNode 数据目录 /data/dfs/nn
HDFS 检查点目录 /data/dfs/snn
Impala Daemon 暂存目录 /data/impala/impalad
Kudu Master WAL Directory /data/kudu/master/wal
Kudu Master Data Directories /data/kudu/master/data
Kudu Tablet Server WAL Directory /data/kudu/server/wal
Kudu Tablet Server Data Directories /data/kudu/server/data
NodeManager 本地目录 /data/yarn/nm
警报:邮件收件人
注意:关于/solr的目录不要修改,不然后面会报错