CDH5-史无前例教程
- 2019 年 12 月 30 日
- 筆記


生活
就是一系列下定决心的努力

· 正 · 文 · 来 · 啦 ·
第一&二部分:准备工作&安装CM
One
第一部分:准备环境 1.下载安装包,规划三台机器 Cloudera Manager 5.9 CDH5.9 主文件 CDH5.9 sha文件 manifest 文件 (注:此处为方便下载已经传入云盘,请在后台回复CDH5 自动获取下载地址(包含本文所有软件包)) ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-01 ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-02 ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-03 2.修改/etc/hosts 文件 192.168.6.3 hdp-01 192.168.6.4 hdp-02 192.168.6.5 hdp-03 临时修改主机名 hostname hdp-01 hostname hdp-02 hostname hdp-03 更改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=hdp-01 3.ssh 免密 登陆 ssh-keygen -t rsa ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-01 ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-02 ssh-copy-id -i /root/.ssh/id_rsa.pub hdp-03 4.关闭防火墙 service iptables stop (临时关闭) chkconfig iptables off (重启后生效) 关闭 SELINUXsetenforce 0临时生效, 另外修改修改 /etc/selinux/config 下的SELINUX=disabled, 重启机器 reboot 5.shell (主从节点维护起来) 在hdp-01机器root目录下,产生一个host文件,文件内容如下,主要将各节点的主机名维护起来。 vim host hdp-02 hdp-03 在hdp-01机器root目录下,产生一个scp.sh文件,文件内容如下,输入需要传送的源文件路径与目标机器的存放路径两个参数,路径都是绝对路径。 #!/bin/bash cat host | while read host do { scp -r $1 $host:$2 }&wait done 6.jdk 安装 ①都卸载自带jdk(三台都需要,版本可能不一样根据实际操作) #查看jdk版本 [root@hdp-03 ~]# rpm -qa|grep java tzdata-java-2012j-1.el6.noarch java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 #按版本卸载jdk [root@hdp-03 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 [root@hdp-03 ~]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch [root@hdp-03 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 [root@lhdp-01 ~]# vim scp.sh [root@hdp-01 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 [root@lhdp-01 ~]# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch [root@hdp-01 ~]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 ②在hdp-01上上传jdk1.8,解压到/usr/local/下 并修改环境变量 vi /etc/profile export JAVA_HOME=/usr/local/jdk1.8.0_171 export PATH=$JAVA_HOME/bin:$PATH ③利用shell拷贝 sh scp.sh /usr/local/jdk1.8.0_171/ /usr/local/jdk1.8.0_171/ sh scp.sh /etc/profile /etc/ 使环境变量生效(全执行) source /etc/profile echo "JAVA_HOME=/usr/local/jdk1.8.0_171" >> /etc/environment 7.配置yum源 rm -rf /etc/yum.repos.d/* vi /etc/yum.repos.d/base.repo [Base] name=base baseurl=file:///mnt/Server enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 挂载 mount /dev/cdrom /mnt yum list 查看是否配置yum成功 8.安装mysql yum -y install mysql-server chkconfig mysqld on service mysqld restart mysql 登陆进去 create user 'CDH' identified by '123456'; 必须设置远程可登陆 grant all privileges on *.* to CDH@'%' identified by '123456' with grant option; flush privileges; 9.设置swap空间 echo "vm.swappiness = 10" >> /etc/sysctl.conf sh scp.sh /etc/sysctl.conf /etc/ 关闭大页面压缩 试过只设置defrag,但貌似个别节点还是会有警告,干脆全部设置,编辑 /etc/rc.local,末尾添加如下命令 echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag 同步到各个节点机器 sh scp.sh /etc/rc.local /etc/ 然后重启reboot生效。 第二部分:安装CM 1、进入/opt/cdh目录,将CM解压到/opt目录下,不能解压到其他地方,因为cdh5的源会默认在 /opt/cloudera/parcel-repo寻找,而CM可以按照个人喜好安装 tar -zxvf cloudera-manager-el6-cm5.9.0_x86_64.tar.gz -C /opt/ mkdir -p /opt/program mv /opt/cm-5.9.0/ /opt/program/ ln -s /opt/program/cm-5.9.0/ /opt/cm 2、将CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel 和 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1移动到/opt/cloudera/parce1-repo,这样安装时CM就能直接找到了 mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 /opt/cloudera/parcel-repo/ 3、将CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1重命名为CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha(去掉结尾的1),非常重要。我试安装时,这点遗漏了,导致安装CDH的时候一直刷不出5.9版本,通过日志发现,没有manifest.json就会去下载,不能访问外网就报错了,但不影响安装CDH,还是mv一下吧。 mv manifest.json /opt/cloudera/parcel-repo/ cd /opt/cloudera/parcel-repo/ mv CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha 4、修改配置文件中的server_host,编辑/opt/cm/etc/cloudera-scm-agent/config.ini server_host=hdp-01 将mysql的JDBC驱动放入CM的lib目录下,下载地址http://dev.mysql.com/downloads/connector/j/,gz和zip都无所谓,最终要的是里面的jar包。解压获得mysql-connector-java-5.1.5-bin.jar上传到集群。 mysql-connector-java-5.1.5-bin.jar mv mysql-connector-java-5.1.5-bin.jar /opt/cm/share/cmf/lib/ 5、为CM创建数据库 /opt/cm/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm 解决方案: 1、配置/etc/hosts文件如下: 127.0.0.1 localhost.hdp-01 192.168.160.132 hadoop3 192.168.160.130 hadoop1 192.168.160.131 hadoop2 注意:如果执行的时候报一下错误,可能是配置host的有问题,127.0.0.1 localhost.hdp-01 这个localhost不能少 create user 'CDH' identified by '123456'; 必须设置远程可登陆 grant all privileges on *.* to CDH@'%' identified by '123456' with grant option; flush privileges; 2、需要修改mysql登录密码: 解决: 修改MySQL的root用户的密码以及打开远程连接 mysql>use mysql; mysql>desc user; mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "hadoop"; //为root添加远程连接的能力。 GRANT ALL PRIVILEGES ON *.* TO CDH@"%" IDENTIFIED BY "123456"; update user set Password = password('hadoop') where User='CDH'; select Host,User,Password from user where User='CDH'; flush privileges; mysql>update user set Password = password('hadoop') where User='root'; mysql>select Host,User,Password from user where User='root'; mysql>flush privileges; mysql>exit; 再次执行 成功 /opt/cm/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm 6、为每个节点创建cloudera-scm用户,均执行 useradd --system --home=/opt/cm/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 7、接下来其实可以直接在hdp-01上启动服务安装了,但因为其它节点没有CM,最后还是通过远程的yum在线下载再安装,我这设置了内部网络,其它节点是访问不了外网的,所以拷贝CM到其它节点进行完全离线安装。拷贝CM到每个节点,在拷贝之前在其余节点执行 mkdir /opt/program sh scp.sh /opt/program/cm-5.9.0/ /opt/program/cm-5.9.0/ ln -s /opt/program/cm-5.9.0/ /opt/cm (每台机 手动执行) 8、 在hdp-01上启动CM的service服务 /opt/cm/etc/init.d/cloudera-scm-server start 在所有节点上面节点上启动CM的agent服务 /opt/cm/etc/init.d/cloudera-scm-agent start service服务过程需要启动几分钟,这看机器性能, 如果用netstat -apn|grep 7180能够查看到端口占用,就可以用浏览器打开http://hdp-01:192.168.6.3:7180/进行访问,登录用户名与密码分别为admin 到此基本上CM的安装启动己完成,接下来就可以用过WEB界面进行安装CDH了,基本上顺利完成百分之60了。
第三部分:CDH–图像化界面安装

2)然后勾选继续

3)按需求所选,我这里选择免费,继续。

4)继续

5)因为我们在节点上启动了agent,所以直接点“当前管理的主机”, 此时当前管理主机有5个。如果节点上没有CM,只有master上有, 这边可以在新主机下去搜索,例如192.168.6.2.[100-104], 但这样最后从节点会去yum在线安装。 (此处截图为5台,按此教程应该为3台,分别是hdp-01,hdp-02,hdp-03)

6)选择之后 将所有主机都勾选上,然后继续。 7)然后选择版本

8)然后进入安装环节:

激活主节点卡住 解决方案: 我是把hosts文件中第一行中的主机名称去掉就好了!!!!! #127.0.0.1这一行不能有其他东西! 127.0.0.1 localhost 192.168.6.3 hdp-01 192.168.6.4 hdp-02 192.168.6.5 hdp-03 9)如果主节点长时间未激活,请按上述解决方案。完成后请点击继续。 10)鸡冻,请继续。

11.)集群设置,按需求。这里我选择所有

12)角色分配,如若没有其他需求 可以按默认,继续即可!!!


13)创建数据库。需要创建数据库 以下有数据库连接详细方案,请参考!!

14)从hdfs--到集群完整安装以及除错。











有用,有趣,有态度!
