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

有用,有趣,有態度!