参考了网上很多教程,踩过很多坑,总结一篇,仅供参考:
node1 , node2, node3 ;其中node1 为主节点,2 3为从节点。
机子内存太小不建议安装测试学习,否则过程很难受 。。。说实话8g不建议考虑。16g还勉强。。。
最好是32g+的服务器。
下载相关软件包(推荐使用迅雷下载,国外源太慢,迅雷下载比较快原理自己了解) 名称下载地址1. JDK1.7http://www.oracle.com/technetwork/java/java-archive-downloads-javase7-521261.html(选择Linux64位 rpm包,此为Oracle官方版本,也可使用2. 中Cloudera发布的rpm版jdk,一样安装使用)2. Cloudera Manager RPMshttp://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/RPMS/x86_64/ (全部下载)3. Cloudera Manager Installerhttp://archive.cloudera.com/cm5/installer/5.15.0/cloudera-manager-installer.愤怒的老虎4. Cloudera Manager Repohttp://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo5. CDH Parcelhttp://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel6. CDH Parcel SHA1http://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1
部署过程 系统预处理
以下操作针对每个实例 !!!!!以下操作针对每个实例 !!!!!以下操作针对每个实例 !!!!!
(某都以root用户操作,仅供学习参考。)
配置Hosts:
vim /etc/hosts 192.168.83.140 node1192.168.83.121 node2192.168.83.142 node3关闭防火墙并禁止开机启动:
systemctl stop firewalld.servicesystemctl disable firewalld.service关闭SELINUX:
vim /etc/selinux/config SELINUX=disabled reboot 0 // 重启生效,不过可稍后重启配置免密登陆:(亦可参考网上别人的经验,如:https://www.linuxidc.com/Linux/2017-04/142632.htm)
需要保证各节点可以免密登陆。
配置主节点自身免密登陆。在主节点上生成公钥并添加到已知密钥中:
配置主节点免密登陆各从节点。在各个从节点上生成公钥并将其发送添加到主节点已知密钥中:
ssh-keygen -t rsa // 回车ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1配置从节点间免密登陆。将主节点上存放的已知密钥发送到各从节点:
scp ~/.ssh/authorized_keys root@node1:~/.ssh/scp ~/.ssh/authorized_keys root@node2:~/.ssh/scp ~/.ssh/authorized_keys root@node3:~/.ssh/ 组件安装与配置上传软件包
将相关软件包上传至各各各各实例。其中主节点需要上传所有软件包,从节点需要上传如下五个文件:
oracle-j2sdk1.7-1.7.0 update67-1.x86_64.rpm
jdk-7u80-linux-x64.rpm
cloudera-manager-agent-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
cloudera-manager-daemons-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
cloudera-manager.repo
安装JDK(各节点)
首先需要卸载预装JDK:
执行安装:
rpm -ivh jdk-7u80-linux-x64.rpmrpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm环境变量:
vi /etc/profile// 在尾部添加:export JAVA_HOME=/usr/java/jdk1.7.0_80export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/libexport PATH=$PATH:$JAVA_HOME/愤怒的老虎// 使之生效并测试:source /etc/profilejava -versionNTP时间同步配置(各节点)
时间同步对节点间协调很重要。
安装NTP(各节点):
修改配置文件/etc/ntp.conf(主节点):
// server 0 上一行添加北邮NTP服务器地址:server s2c.time.edu.cn prefer测试同步一次时间(主节点):
ntpdate s2c.time.edu.cn启动NTP并配置开机启动(主节点):
systemctl start ntpdsystemctl enable ntpd使用ntpstat命令查看是否已成功完成同步,如下是完成同步的状态。同步需要一定的时间,请耐心等待。
synchronised to NTP server (202.112.10.36) at stratum 6 time correct to within 1338 ms polling server every 64 s从节点与主节点同步时间,在各从节点设置定时同步任务:(非生产环境下不成功问题也不大)。
ntpdate cdh-master // 与主节点同步一次时间crontab -e // 创建计划任务00 */1 * * * /usr/s愤怒的老虎/ntpdate cdh-master >> /root/ntpdate.log 2>&1 // 每1小时与主节点执行一次时间同步crontab -l // 查看计划任务 安装Cloudera Manager主节点安装
修改仓库文件中的版本号:
安装4个cloudera开头的rpm和1个enterprise开头的rpm:
yum localinstall --nogpgcheck cloudera-* enterprise-*从节点安装
修改仓库文件中的版本号:
安装cloudera-manager-agent和cloudera-manager-daemons两个rpm:
// 注意这两个rpm有依赖关系,需要一同安装:yum localinstall --nogpgcheck cloudera-manager-agent* cloudera-manager-daemons*在主节点安装cloudera-manager-installer.愤怒的老虎
设置安装权限、删除原数据库连接属性、开始安装:
小结:一路下来如果使用root用户,基本不会有权限问题,安装过程中权限,防火墙问题最恼人。如果你看到了这里的话,希望你也可以注意到部分是区分区分区分主节点,从节点安装的。
./cloudera-manager-installer.愤怒的老虎 //此步骤后只需点击next,yes等。中途出错请检查是否为root用户,或者前置步骤是否有误。作者错了很多次。最后决定一路root用户。// 最好启动浏览器的时候,也用root用户,然后配置cloudera manager
出现安装ok后,不要直接进入localhost:7180去配置安装。先:
添加CDH包(主节点)
添加下载好的parcel
将下载好的CDH包及校验信息(注意重命名)移动至如下目录:
设置权限并重启cloudera-scm-server
chown cloudera-scm.cloudera-scm /opt/ -Rchown cloudera-scm.cloudera-scm /var/log/cloudera-scm-agent -R/etc/init.d/cloudera-scm-server restart // 重启需要一定时间CDH安装与分发完成后可能会出现如下提示
Cloudera recommends setting /proc/sys/vm/swappiness to a maximum of 10. Current setting is 30. Use the sysctl command to change this setting at run time and edit /etc/sysctl.conf for this setting to be saved after a reboot. You can continue with installation, but Cloudera Manager might report that your hosts are unhealthy because they are swapping. The following hosts are affected:
将vm.swappiness=10添加至/etc/sysctl.conf中,让实例尽可能的使用物理内存以提升性能。
echo 'vm.swappiness=10'>> /etc/sysctl.conf// 重启机器以生效:(此时三个节点最好都要重启以重载前面修改的配置)reboot 0重启机器后请注意检查cloudera-scm-server、cloudera-scm-agent是否都处于运行状态后再开始安装。
/etc/init.d/cloudera-scm-server restart(主节点)
/etc/init.d/cloudera-scm-agent restart(所有节点)
开始安装在浏览器中输入主节点IP地址加端口号7180,输入默认用户名和密码,进入安装向导,同意相关协议,选择相应的版本,开始安装。
安装向导完成后即完成CDH的安装过程。若在安装过程中报错,请检查先前步骤是否完成,并尝试重新启动(机器或cloudera-scm-agent)
不再截图:安装过程详细可移步下链接的开始安装部分:
https://www.jianshu.com/p/e9147bf6711d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
排错:
1. 卸载重装cm。移步:https://blog.csdn.net/csolo/article/details/52589763
2.cm装好了,安装parcel节点的时候,遇到‘’运行状况不良‘’时,移步:https://blog.csdn.net/post_yuan/article/details/79101618
3.cm可使用内置数据库,也可使用外置数据库MySQL等。但是,要自己按建好库后再选择使用外置的数据库。安装MySQL详细步骤如:https://www.cnblogs.com/伶俐的马里奥/p/8431520.html
4.cm中会有单用户模式(single user mode)即以一个用户管理各个角色的服务。否则每个服务的用户都是不同的。如HDFS服务的用户就是HDFS,Hive的用户就是Hive,不便管理。