站長資訊網
        最全最豐富的資訊網站

        CDH 5.16.1 離線部署 & 通過 CDH 部署 Hadoop 服務

        一. 環境

        1.1 系統節點信息

        Hostname IP CPU(cores) Memory(GB) OS Service Remark
        master 172.30.200.75 2 4 CentOS 7.5 jdk, cloudera-scm-server, mysql 實際部署后,master節點也需要部署cloudera-scm-agent服務,或采用4個slave節點
        slave01 172.30.200.76 2 4 centos 7.5 jdk, cloudera-scm-agent  
        slave02 172.30.200.77 2 4 centos 7.5 jdk, cloudera-scm-agent  
        slave03 172.30.200.78 2 4 centos 7.5 jdk, cloudera-scm-agent  

        1.2 軟件版本

        相關軟件放置在/usr/local/src/目錄。

        Soft Version Download Remark
        CM(Cloudera Manager) cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz bin包,根據版本下載  
        CDH parcel CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel 根據版本下載 軟件安裝包
        CDH parcel.sha CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 根據版本下載 軟件包hash碼
        CDH manifest.json manifest.json 根據版本下載 版本說明文件
        JDK jdk-8u181-linux-x64.tar.gz bin包,根據版本下載  
        MySQL mysql-5.7.24-el7-x86_64.tar.gz bin包,根據版本下載 存放Cloudera Manager配置文件
        MySQL-connector-Java mysql-connector-java-8.0.13.jar jar包,根據版本下載 JDBC

        二. 準備工作

        2.1 部分預配置

        所有節點執行以下操作:

        • 永久關閉防火墻(firewalld或iptables);
        • 永久關閉selinux;
        • 設置ntp。

        2.2 設置hosts

        • 所有節點設置/etc/hosts

          cat << EOF >> /etc/hosts    # Hadoop nodes  172.30.200.75 master  172.30.200.76 slave01  172.30.200.77 slave02  172.30.200.78 slave03  EOF

        2.3 免密訪問設置

        • 在所有節點生成秘鑰

          ssh-keygen -t rsa
        • 在master節點生成authorized_keys文件

          cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
        • 在master節點執行,將集群每個節點的公鑰id_rsa.pub放入master節點的authorized_keys文件中

          for i in {1..3}; do ssh root@slave0$i cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done
        • 在master節點執行,將master節點的authorized_keys文件放置到集群每個節點的/root/.ssh/目錄,依然命名位authorized_keys
          • 最終的效果是集群中所有節點兩兩相互免密訪問;
          • 注意:首次登陸時有公鑰檢查,可通過在/etc/ssh/ssh_config文件中設置StrictHostKeyChecking no繞過,或使用-o參數跳過。
          for i in {1..3}; do scp /root/.ssh/authorized_keys root@slave0$i:/root/.ssh/authorized_keys; done

        2.4 安裝JDK

        所有節點都需要安裝JDK。

        • 安裝JDK

          cd /usr/local/src  tar -zxvf jdk-8u181-linux-x64.tar.gz  mkdir -p /usr/java  mv jdk1.8.0_181/ /usr/java/    # 設置軟鏈接,方便升級替換  ln -s /usr/java/jdk1.8.0_181/ /usr/java/current
        • 設置變量

          cat << EOF >> /etc/profile    # JDK  export JAVA_HOME=/usr/java/current  export JRE_HOME=/usr/java/current/jre  export PATH=$PATH:/usr/java/current/bin  export CLASSPATH=./:/usr/java/current/lib:/usr/java/current/jre/lib  EOF
        • 驗證

          # 加載變量  source /etc/profile    # 驗證  java -version

        2.5 安裝MySQL

        只有master節點需要安裝MySQL。

        • 卸載系統自帶的相關數據庫

          rpm -qa | grep mysql  rpm -qa | grep mariadb    # --nodeps:不檢查依賴  rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
        • 部署MySQL

          # 采用bin包部署,解壓后直接使用  cd /usr/local/src  tar -zxvf mysql-5.7.24-el7-x86_64.tar.gz -C /usr/local/  mv /usr/local/mysql-5.7.24-el7-x86_64/ /usr/local/mysql
        • 賬號與權限

          # 添加賬號  groupadd mysql  useradd -g mysql -s /sbin/nologin mysql    # 創建"data"目錄  mkdir /data    # 賦權  chown -R mysql:mysql /usr/local/mysql/  chown -R mysql:mysql /data/
        • 初始化MySQL
          • 獲取root@localhost賬號的初始密碼Hqe6x<Re4jhK
          cd /usr/local/mysql/  bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data
        • 設置變量

          cat << EOF >> /etc/profile    # MySQL  export PATH=$PATH:/usr/local/mysql/bin  EOF    # 加載變量  source /etc/profile    # 軟鏈接  ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql  ln -s /usr/local/mysql/include/mysql /usr/include/mysql
        • 設置開機啟動

          # 復制開機啟動腳本到系統服務  cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld  chown mysql:mysql /etc/rc.d/init.d/mysqld    # 修改默認的"basedir"與"datadir"  vim /etc/rc.d/init.d/mysqld  basedir=/usr/local/mysql  datadir=/data    # 添加開機啟動腳本  chkconfig --add mysqld  chkconfig --level 35 mysqld on
        • 文件路徑:log && pid && socket

          # 日志路徑  mkdir -p /var/log/mysqld  touch /var/log/mysqld/mysqld.log  chown -R mysql:mysql /var/log/mysqld/    # pid路徑  mkdir -p /var/run/mysqld  chown -R mysql:mysql /var/run/mysqld/    # socker路徑  mkdir -p /var/lib/mysqld  chown -R mysql:mysql /var/lib/mysqld/  ln -s /var/lib/mysqld/mysql.sock /tmp/mysql.sock
        • 設置my.cnf文件

          # 注意"log-error","pid-file"與"socket"的路徑  mkdir -p /usr/local/mysql/etc  cat << EOF >> /usr/local/mysql/etc/my.cnf  [mysqld]  character-set-server=utf8  max_connections = 3000  log-error=/var/log/mysqld/mysqld.log  pid-file=/var/run/mysqld/mysqld.pid  socket=/var/lib/mysqld/mysql.sock  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES    [mysql]  default-character-set=utf8  EOF    # 軟鏈接  ln -s /usr/local/mysql/etc/my.cnf /etc/my.cnf    # 賦權  chown -R mysql:mysql /usr/local/mysql/etc/
        • 啟動MySQL服務

          # 啟動服務  service mysqld start    # 驗證  service mysqld status
        • 設置MySQL賬號密碼與登陸權限

          # 使用初始化密碼登陸  mysql -uroot -p    # 修改密碼,注意不能使用"$"等特殊符號  set password=password('cdh12#hadoop');  flush privileges;    # 遠程登陸權限  grant all privileges on *.*  to  'root'@'%'  identified by 'cdh12#hadoop'  with grant option;  flush privileges;    # 查看賬號  select user, host, authentication_string from mysql.user;

        三. Cloudera Manager安裝

        3.1 部署CM Server & Agent

        • 在所有節點創建CM目錄/opt/cloudera-manager

          mkdir /opt/cloudera-manager
        • 在master節點向其余節點分發cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz

          for i in {1..3}; do scp /usr/local/src/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz  root@slave0$i:/usr/local/src/ ; done
        • 在所有節點解壓cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz到/opt/cloudera-manager/目錄

          tar -zxvf /usr/local/src/cloudera-manager-centos7-cm5.16.1_x86_64.tar.gz -C /opt/cloudera-manager/
        • 在所有slave節點修改/opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini的server_host參數為master節點ip或主機名

          sed -i "s/server_host=localhost/server_host=master/g" /opt/cloudera-manager/cm-5.16.1/etc/cloudera-scm-agent/config.ini

        3.2 賬號 && 權限

        • 在所有節點創建cloudera-scm賬號,這是CM相關服務使用的默認賬號

          # 禁止使用"cloudera-scm"賬號登陸  useradd --system --home=/opt/cloudera-manager/cm-5.16.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
        • 在所有節點/opt/cloudera-manager目錄賦權

          chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager

        3.3 設置開機啟動

        • 在master節點設置系統服務

          # 設置使用"cloudera-scm-server"為系統啟動服務  cp /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-server /etc/rc.d/init.d/  chown cloudera-scm:cloudera-scm /etc/rc.d/init.d/cloudera-scm-server    # 修改"CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}"的路徑  vim /etc/rc.d/init.d/cloudera-scm-server  CMF_DEFAULTS=/opt/cloudera-manager/cm-5.16.1/etc/default      # 添加系統啟動服務  chkconfig --add cloudera-scm-server  chkconfig --level 35 cloudera-scm-server on  checkconfig --list
        • 在所有slave節點設置系統服務

          # 設置使用"cloudera-scm-agent"為系統啟動服務  cp /opt/cloudera-manager/cm-5.16.1/etc/init.d/cloudera-scm-agent /etc/rc.d/init.d/  chown cloudera-scm:cloudera-scm /etc/rc.d/init.d/cloudera-scm-agent    # 修改"CMF_DEFAULTS=${CMF_DEFAULTS:-/etc/default}"的路徑"-/etc/default"  vim /etc/rc.d/init.d/cloudera-scm-agent  CMF_DEFAULTS=${CMF_DEFAULTS:/opt/cloudera-manager/cm-5.16.1/etc/default}    # 添加系統啟動服務  chkconfig --add cloudera-scm-agent  chkconfig --level 35 cloudera-scm-agent on  checkconfig --list

        3.4 初始化數據庫

        • 在所有節點設置MySQL驅動(JDBC);
        • 注意:部署JDBC在任意節點,則后續”CDH安裝配置”階段Reports Manager被分配在任意節點都可以

          cp /usr/local/src/mysql-connector-java-8.0.13.jar /opt/cloudera-manager/cm-5.16.1/share/cmf/lib/  chown cloudera-scm:cloudera-scm /opt/cloudera-manager/cm-5.16.1/share/cmf/lib/mysql-connector-java-8.0.13.jar
        • 在master節點重啟MySQL服務

          service mysqld restart
        • 在任意節點初始化CM
        • 注意:Cloudera服務需要的相關database如下:
          • 表中給出的是CM相關服務配置文件中默認的database與user,但不是必須使用;
          • database在數據庫中可直接創建,但CM初始化時如果沒有database,則自動創建。
          Service Database User
          Cloudera Manager Server scm scm
          Activity Monitor amon amon
          Reports Manager rman rman
          Hue hue hue
          Hive Metastore Server metastore metastore
          Sentry Server sentry sentry
          Cloudera Navigator Audit Server nav nav
          Cloudera Navigator Metadata Server navms navms
          Oozie oozie oozie
          # 格式:scm_prepare_database.sh [options] (postgresql|mysql|Oracle) database username [password]  # scm_prepare_database.sh:創建與配置CMS需要的數據庫腳本,默認在"/opt/cloudera-manager/cm-5.16.1/share/cmf/schema/"目錄;  # postgresql|mysql|oracle:必選項,數據庫類型;  # database:必選項,針對postgresql|mysql,創建SCM數據庫;針對oracle,填寫sid;  # username:必選項,SCM數據庫的賬號;  # password:選填項,SCM數據庫的賬號密碼,如果不指定,會提示輸入;  # options:  # -h:數據庫主機ip或hostname,默認是"localhost";  # -u:數據庫賬號,需要具備增刪改查的權限,默認是"root";  # -p:賬號密碼,默認無密碼;  # --scm-host:SCM server主機名,默認是"localhost"  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % scm scm scm_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % amon amon amon_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % rman rman rman_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % hue hue hue_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % metastore metastore metastore_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % sentry sentry sentry_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % nav nav nav_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % navms navms navms_pass  /opt/cloudera-manager/cm-5.16.1/share/cmf/schema/scm_prepare_database.sh mysql -h master -uroot -pcdh12#hadoop --scm-host % oozie oozie oozie_pass

          返回如下信息,表示配置成功

          [main] INFO  com.cloudera.enterprise.dbutil.DbCommandExecutor  - Successfully connected to database.  All done, your SCM database is configured correctly!

        3.5 創建本地parcel源

        • 在master節點制作本地parcel源

          # 創建本地parcel源目錄  mkdir -p /opt/cloudera/parcel-repo    # 將parcel相關安裝包放置到"/opt/cloudera/parcel-repo"目錄;  # 說明:"/opt/cloudera/parcel-repo"目錄可放置多套parcel安裝包;  # 將"CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1"重命名為"CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha",否則會重新下載"CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel"安裝包  mv /usr/local/src/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/  mv /usr/local/src/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.16.1-1.cdh5.16.1.p0.3-el7.parcel.sha  mv /usr/local/src/manifest.json /opt/cloudera/parcel-repo/    # 賦權  chown -R cloudera-scm:cloudera-scm /opt/cloudera/
        • 在所有salve節點創建軟件安裝目錄

          mkdir -p /opt/cloudera/parcels    # 賦權  chown -R cloudera-scm:cloudera-scm /opt/cloudera/

        3.6 啟動CM服務

        • 在master節點啟動cloudera-scm-server服務

          # "cloudera-scm-server"啟動需要連接數據庫,監聽端口啟動會延遲  service cloudera-scm-server restart  service cloudera-scm-server status -l    # 通過啟動后的狀態查看,腳本需要執行"pstree"命令,需要安裝依賴包  yum install psmisc -y
        • 在所有salve節點啟動cloudera-scm-agent服務

          yum install psmisc -y  service cloudera-scm-agent restart  service cloudera-scm-agent status -l

        四. 安裝CDH

        4.1 CDH安裝配置

        • 瀏覽器訪問CM:http://172.30.200.75:7180
        • 默認賬號/密碼:admin/admin
        • 最終用戶許可條款與條件
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • 部署版本,選擇Cloudera Enterprise 試用版
        • 版本與服務說明
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • cloudera-scm-agent正常啟動后,可發現相應的節點,指定集群服務的安裝節點
        • 選擇CDH版本
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • 集群安裝,如果本地parcel源配置正確,則"下載"階段瞬間完成,其余階段視節點數與內部網絡情況決定
        • 檢查主機正確性(需要一些時間),針對slave節點有兩個優化建議:
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
          • 1.建議將/proc/sys/vm/swappiness設置為最大值10。
            • swappiness值控制操作系統嘗試交換內存的積極;
            • swappiness=0:表示最大限度使用物理內存,之后才是swap空間;
            • swappiness=100:表示積極使用swap分區,并且把內存上的數據及時搬遷到swap空間;
            • 如果是混合服務器,不建議完全禁用swap,可以嘗試降低swappiness。
            • 臨時調整:

              sysctl vm.swappiness=10
            • 永久調整:

              cat << EOF >> /etc/sysctl.conf    # Adjust swappiness value  vm.swappiness=10  EOF
          • 2.已啟用透明大頁面壓縮,可能會導致重大性能問題,建議禁用此設置。
            • 臨時調整:

              echo never > /sys/kernel/mm/transparent_hugepage/defrag  echo never > /sys/kernel/mm/transparent_hugepage/enabled
            • 永久調整:

              cat << EOF >> /etc/rc.d/rc.local    # Disable transparent_hugepage  echo never > /sys/kernel/mm/transparent_hugepage/defrag  echo never > /sys/kernel/mm/transparent_hugepage/enabled  EOF    # centos7.x系統,需要為"/etc/rc.d/rc.local"文件賦予執行權限  chmod +x /etc/rc.d/rc.local
        • 集群設置,選擇服務進行安裝,這里選擇自定義服務的HDFS服務
        • 集群設置,自定義角色分配,默認即可
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • 集群設置,Reports Manager數據庫名稱rman,用戶名rman
        • 集群設置,審核更改,默認即可
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • 集群設置,首次運行
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • 集群設置,服務安裝完成
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • Cloudera Manager 主頁
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        • Cloudera Manager HDFS 服務匯總
          CDH 5.16.1 離線部署 &amp; 通過 CDH 部署 Hadoop 服務
        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久国产成人亚洲精品影院| 在线观看亚洲精品福利片| 久久久久国产精品嫩草影院| 99re久久精品国产首页2020| 亚洲一区精品伊人久久伊人 | 国产成人精品高清在线观看93| 日韩精品无码永久免费网站 | 人妻精品久久无码专区精东影业| 国内精品久久久久久久涩爱| 91国内揄拍国内精品对白不卡| 国产成人精品视频播放| 国产欧美日韩精品a在线观看| 亚洲精品无码专区久久久 | 精品一区二区三区免费观看| 99久久伊人精品综合观看| 久久99国产精品久久久| 500av大全导航精品| jizz国产精品网站| 国产精品v片在线观看不卡| 精品无码国产污污污免费网站 | 久久久久亚洲精品中文字幕| 国产内地精品毛片视频| 91久久精品电影| 91精品国产综合久久四虎久久无码一级 | 97在线精品视频| 99在线精品免费视频九九视| 久久精品aⅴ无码中文字字幕不卡| 亚洲精品国产精品乱码不卡√| 亚洲精品国产日韩无码AV永久免费网| 老湿亚洲永久精品ww47香蕉图片| 国产线视频精品免费观看视频| 国产午夜精品久久久久九九电影 | 久久精品国产99久久香蕉| 久久久久一级精品亚洲国产成人综合AV区| 国产呦小j女精品视频| 久草欧美精品在线观看| 久久精品这里只有精99品| 亚洲国产精品成人AV无码久久综合影院| 亚洲国产精品13p| 久久久久人妻一区精品色| 国产精品丝袜黑色高跟鞋 |