CDH5.15.0 安裝搭建

  • CDH5.15.0安裝前期準備工作部署:

所有節點安裝必要的工具包:

yum -y install net-tools vim ntp libaio

 

1. 所有節點配置禁用SELinux

         vi /etc/selinux/config

         SELINUX=disabled

2. 關閉集羣所有節點防火牆

         systemctl stop firewalld

         systemctl disable firewalld

3. 所有節點設置swap

         echo vm.swappiness = 10 >> /etc/sysctl.conf

         sysctl vm.swappiness=10

4. 所有節點設置文件打開最大數

vi /etc/security/limits.conf

* soft nofile 65535

* hard nofile 65535

* soft nproc 32000

* hard nproc 32000

 

5. centos7默認啓用透明大頁面壓縮,可能會導致重大性能問題,所以先關閉透明大頁面壓縮

         echo never > /sys/kernel/mm/transparent_hugepage/defrag

         echo never > /sys/kernel/mm/transparent_hugepage/enabled

6. 所有節點都要配置hosts文件追加如下配置

vi /etc/hosts

172.16.102.170    centos170

172.16.102.171    centos171

172.16.102.172    centos172

172.16.102.173    centos173

          前面六步在所有節點上執行完成後, reboot 所有機器;再接着配置下面步驟

 

二. 繼續配置相關的準備環境

1.  設置免祕鑰登錄(在部署CM服務的機器上配置)

ssh-keygen

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

ssh-copy-id -i ~/.ssh/id_rsa.pub root@centos171

ssh-copy-id -i ~/.ssh/id_rsa.pub root@centos172

ssh-copy-id -i ~/.ssh/id_rsa.pub root@centos173

測試是否免祕鑰成功, 輸入:ssh centos171  如果正常切換到171機器說明成功

chmod 600 /root/.ssh/authorized_keys

 

2.  時鐘同步

CM服務所在節點上如下配置:

vi /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

restrict 172.16.102.0 mask 255.255.255.0 notrap nomodify

server 210.72.145.44 perfer   # 中國國家受時中心

server 202.112.10.36          # 1.cn.pool.ntp.org

server 59.124.196.83          # 0.asia.pool.ntp.org

restrict 210.72.145.44 nomodify notrap noquery

restrict 202.112.10.36 nomodify notrap noquery

restrict 59.124.196.83 nomodify notrap noquery

fudge   127.127.1.0 stratum 10

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

disable monitor

 

其他slaver上如下配置(注意只需要配置server 爲對應的CM服務所在的IP即可):

vi /etc/ntp.conf 

driftfile /var/lib/ntp/drift

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

restrict 127.0.0.1

restrict -6 ::1

restrict 172.16.102.0 mask 255.255.255.0 notrap nomodify

server  172.16.102.170

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

disable monitor

 

以系統時間爲基準,修改硬件時間(所有節點):

hwclock --systohc

啓動ntpd服務(所有節點)

systemctl restart ntpd.service

隨便找個slaver節點執行結果如下,證明時鐘同步配好了;

 

3. JDK安裝

將所有安裝軟件上傳到 /home/soft 目錄下

tar -xvf jdk-7u79-linux-x64.tar.gz -C /usr/local/

vi /etc/profile

環境變量中追加如下配置:

export JAVA_HOME=/usr/local/jdk1.7.0_79

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

讓環境變量生效:

source /etc/profile

執行java -version 顯示如下效果,表示jdk配置成功;

同理所有節點都配置好JDK

 

3. 安裝mysql 在CM服務節點上

centos7默認安裝了MariaDB; 先卸載MariaDB

查看MariaDB安裝包:  rpm -qa | grep mariadb

卸載MariaDB:        rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

tar -xvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

mv /usr/local/mysql-5.7.18-linux-glibc2.5-x86_64/ /usr/local/mysql

cd /usr/local/mysql/

mkdir data logs pid

創建mysql用戶組,創建之後,可以查看是否創建成功

groupadd mysql

cat /etc/group|grep mysql

useradd -r -g mysql mysql

賦權,更改所屬的組和用戶

chown -R mysql.mysql /usr/local/mysql

cp support-files/mysql.server /etc/init.d/mysqld

編輯mysqld,修改爲指定路徑

vi /etc/init.d/mysqld 

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

 

vi /etc/my.cnf    修改配置文件如下(basedir爲安裝目錄,datadir爲數據文件目錄):

[mysqld]

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

socket=/tmp/mysql.sock

character-set-server=utf8

collation-server=utf8_general_ci

[mysqld_safe]

log-error=/usr/local/mysql/logs/mariadb.log

pid-file=/usr/local/mysql/pid/mariadb.pid

 

chown -R mysql.mysql /usr/local/mysql/logs

chown -R mysql.mysql /usr/local/mysql/pid

touch /usr/local/mysql/logs/mariadb.log

chown -R mysql.mysql /usr/local/mysql/logs/mariadb.log

配置mysql環境變量

vi /etc/profile

##mysql

export MYSQL=/usr/local/mysql

export PATH=$PATH:$MYSQL/bin

使環境變量生效:

source /etc/profile

執行數據庫初始化操作:

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

特別注意初始化時候控制檯最後一行生成一個初始化密碼,如下所示:

service mysqld restart

mysql -uroot -p

root用戶登錄後使用上面的初始化密碼登錄後修改root密碼

mysql> SET PASSWORD = PASSWORD('123456');

mysql> flush privileges;

使用新密碼登錄:

mysql -uroot -p123456 

添加遠程訪問權限

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

重啓使得配置生效:

/etc/init.d/mysqld restart

配置開機啓動mysql服務:

chkconfig mysqld on

                  以上所有步驟完成後,即可開始安裝CDH

 

  • Cloudera Manager安裝與集羣配置

1、所有節點安裝依賴包:

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y

 

2、主節點安裝CM5.15.0  

tar -xvf cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz -C /opt

scp mysql-connector-java-5.1.37-bin.jar /opt/cm-5.15.0/share/cmf/lib/

 

3.在主節點初始化數據庫

/opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hcentos170 -uroot -p123456 --scm-host centos170 scm scm scm

 

4.agent配置 

vi /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini

修改server_host爲主節點的主機名: server_host= centos170

同步Agent到其他所有節點:

scp -r /opt/cm-5.15.0/ centos171:/opt

scp -r /opt/cm-5.15.0/ centos172:/opt

scp -r /opt/cm-5.15.0/ centos173:/opt

在所有節點創建cloudera-scm用戶:

useradd --system --home=/opt/cm-5.15.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

 

將CHD5相關的Parcel包放到所有節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動創建)。

相關的文件如下: 

    CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel

    CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1

   manifest.json 

最後將CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1,重命名CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel文件。

 

cp mysql-connector-java-5.1.37-bin.jar /opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/hadoop/lib/native/

cp mysql-connector-java-5.1.37-bin.jar /opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/lib/hadoop/lib/

 

相關啓動腳本

主節點:通過/opt/cm-5.15.0/etc/init.d/cloudera-scm-server start啓動服務端。

所有節點(包括主節點):通過/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start啓動Agent服務。

 

CM啓動結束後即可訪問:http://172.16.102.170:7180

用戶名、密碼都爲admin

 

  • CM服務啓動後配置如下:
  1. 登錄: http://172.16.102.170:7180 

 

選擇免費版

繼續

選擇所有主機

繼續, 這個過程比較耗時

選擇自定義服務裏面的zookeeper  繼續

如下配置

繼續

如下配置成功   繼續

如下表示zookeeper服務配置成功;

添加HDFS服務

如下配置

 

添加yarn 服務

繼續

繼續添加spark服務

至此所有的服務已經全部搭建起來了

 

三 . 後期集羣優化方面

  1. 所有節點增加spark的jdk支持配置

vi /opt/cloudera/parcels/CDH-5.15.0-1.cdh5.15.0.p0.21/etc/spark/conf.dist/spark-env.sh

export SPARK_DIST_CLASSPATH=$(hadoop classpath)

export JAVA_HOME=/usr/local/jdk1.7.0_79

  1. 2. 取消hdfs 的權限驗證

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章