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--到集群完整安裝以及除錯。











有用,有趣,有態度!
