cdh 的安裝

一、準備:

1、修改主機名,設置集羣host

修改主機名,並使之生效 修改:vim etc/sysconfig/network

 

統一設置集羣host(修改集羣中每個節點的hosts文件):vim /etc/hosts  

2、利用ntp設置時間同步

less /etc/localtime檢查時區看最後一行是否是CST-8如果不是,執行以下命令修改。

cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

因爲hdp中有服務需要集羣的時間同步,所以集羣中的每一個機器需要安裝啓動ntp服務保證集羣時間的一致,安裝啓動如下所示:

for host in node{1,2,3};do ssh root@$host yum install ntp -y; ssh root@$host; done

 

配置NTP同步:

服務端:

node1作爲ntp server,其他節點與其同步

 

ntpdate -u 202.112.10.36 //可不執行,目的是與網絡同步  

修改時間:date  -s "2018-3-1 15:58:00" //當前時間

寫入硬件:clock -w

配置服務端:

vi /etc/ntp.conf

restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap

在# Please consider joining the pool (http://www.pool.ntp.org/join.html)後添加兩行:

server 127.127.1.0

fudge 127.127.1.0 stratum 10 #後面的數字在0-15之間都可以,這樣就將該機器作爲ntp服務器提供給客戶端

service ntpd start   或者  /etc/init.d/ntpd start

chkconfig ntpd on  #設置爲自啓動

檢查端口是否開啓:如果正常可以看見123端口

netstat -unlp

客戶端:

vi /etc/ntp.conf

在# Please consider joining the pool (http://www.pool.ntp.org/join.html)  後面添加:

server node1

保存

ntpdate node1   #client端ntp服務未啓動時執行

service ntpd start    或者  /etc/init.d/ntpd start

chkconfig ntpd on   #設置爲自啓動

3、防火牆配置

因爲集羣中的線程之間需要互相通信,所以需要合理配置防火牆,最簡單的方式是直接關閉防火牆。操作如下所示:

for host in node{1,2,3};do ssh root@$host /etc/init.d/iptables stop; ssh root@$host chkconfig iptables off; done

或者:

service iptables stop

service ip6tables stop

設置成始終保持關閉:

chkconfig iptables off

chkconfig ip6tables off

4、設置集羣免密登錄

因爲在ambarihdp部署過程中,ambarihdp部署的節點都有可能互相訪問,所以建議四個節點中的每個節點之間都可以ssh無密碼登錄,包括它們自己登錄到自己。

在Node1機器上執行如下操作,首先查看該用戶根目錄下的.ssh文件夾中是否有id_rsa文件,如果沒有執行ssh-keygen命令,一路回車,然後查看生成的文件,爲了避免之後的麻煩,建議將該目錄下所有文件的權限修改成600,本文檔部署在ambari機器上的操作如下所示,其他機器類似:

ssh-keygen

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

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

當所有節點都執行完以上命令後,在node1機器上執行如下將命令

for host in node{2,3};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

在node2機器上執行如下將命令

for host in node{1,3};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

在node3機器上執行如下將命令

for host in node{1,2};do echo $host; ssh-copy-id -i /root/.ssh/id_rsa root@$host;done

5、安裝jdk

1)查看並卸載openjdk

查看有哪些jdk包:

rpm -qa|grep java

卸載自帶的openJDK

rpm -e --nodeps tzdata-java-2017b-1.el6.noarch

rpm -e --nodeps java-1.8.0-openjdk-1.8.0.144-0.b01.el6_9.x86_64

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el6_9.x86_64

rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.144-0.b01.el6_9.x86_64

2)下載OracleJDK

下載OracleJDK並上傳至/usr/java目錄下

tar -zxvf  jdk-----.tar.gz

配置環境變量

vi  /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_60

PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

java -version

6,安裝cm支持包並配置環境

rpm  -qa|grep perl

yum install perl

1)交換分區設置

[root@cdh opt]#  cat /proc/sys/vm/swappiness

60

在/etc/sysctl.conf 文件裏添加如下參數:

vm.swappiness=10

或者:[root@cdh opt]# echo 'vm.swappiness=10'>> /etc/sysctl.conf

2)關閉透明大頁面壓縮

[root@cdh opt]# cat /sys/kernel/mm/redhat_transparent_hugepage/defrag

[always] madvise never

修改/etc/rc.local文件並添加以下兩行

echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag 
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled 

二、安裝cm

1、準備安裝包安裝包

1)地址:

https://www.cloudera.com/documentation/enterprise/release-notes/topics/cm_vd.html#CM5.14.0

2)解壓並移動到安裝目錄

解壓tar包:tar -zxvf cloudera-manager-el6-cm5.13.1_x86_64.tar.gz

解壓後有cloudera和cm-5.13.1兩個目錄


移動這兩個目錄到安裝目錄下,如/opt: mv cloudera cm-5.13.1 /opt/

 

3)下載cdh安裝包

地址:http://archive.cloudera.com/cdh5/parcels/latest/

 

把安裝包放到/opt/cloudera/parcel-repo/目錄下:`mv CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha manifest.json /opt/cloudera/parcel-repo/`

並修改CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1名稱爲CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha,否則識別不到,選擇CDH版本的時候看不到:`mv CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1 CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha`

4)準備mysql connector

官網:https://dev.mysql.com/downloads/connector

下載:`wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz`

解壓:`tar -zxvf mysql-connector-java-5.1.45.tar.gz`

放到/usr/share/java目錄下(先查看目錄是存在,不存在先創建目錄):`cp mysql-connector-java-5.1.45-bin.jar /usr/share/java/mysql-connector-java.jar`

或者放到目錄/opt/cm-5.13.1/share/cmf/lib/下。

前者安裝hive的時候可以直接使用,後者會找不到,需要再執行一次命令:`cp /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib/`

 

2、配置安裝

1)配置節點文件:

vim /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini

server_host爲cm server的主機名或ip

server_port爲server的通訊端口,默認爲7182

 

 

2)複製agent到其他節點

scp -r /opt/cm-5.13.1 IP:/opt

3)在所有節點上創建用戶cloudera-scm

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

4) 設置數據庫信息

8.1 在mysql上新建數據庫:cmf(cloudera manage數據庫)、hive(hive數據庫)、amon(cloudera Acrivity Monitor使用)、rman(cloudera Reports Manager使用)

 

8.2 設置cmf連接信息:`/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql -hhost29  --scm-host host28  cmf usrname password`

 

    命令說明:/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh 數據庫類型 -h數據庫主機 --scm-host cm主機  數據庫名稱  用戶名  密碼

    

    具體參數可參看官網[https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_installing_configuring_dbs.html#concept_i2r_m3m_hn__section_qjj_pyp_bm][3]

 

8.3 查看配置文件,發現信息已寫入:`vim /opt/cm-5.13.1/etc/cloudera-scm-server/db.properties`

 

5)啓動

啓動server: /opt/cm-5.13.1/etc/init.d/cloudera-scm-server start (只啓動主節點上的一個server)

啓動agent: /opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start

 

 

三、安裝羣集

1、 登錄cm

在瀏覽器輸入http://IP:7180登錄cm(ip替換爲cm server主機ip,端口爲server的http服務端口,默認爲7180),用戶名密碼均爲admin

 

2、 選擇要安裝的cm版本

選擇免費或者試用版都可以,如果沒有用到高級功能 ,試用版到期也沒什麼影響,可繼續使用。

 

3、 羣集安裝

各個節點正常啓動後,可以在當前管理的主機列表中看到對應的節點。選擇你要使用節點就可以了,基本上全選。

 

選擇CDH版本這裏會顯示你放在/opt/cloudera/parcel-repo/下的parcel包,若未顯示,則檢查CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha1是否名稱未改爲CDH-5.13.1-1.cdh5.13.1.p0.2-el6.parcel.sha,修改之後重啓server服務和agent服務。

這裏第一個和第二個警告,按頁面提示的設置方法設置即可,第三個警告是jdk版本不對,不能使用openjdk,需要oracle jdk。

每個節點上都設置一下:

執行:`echo 10 > /proc/sys/vm/swappiness`

並編輯文件sysctl.conf:`vim /etc/sysctl.conf`,添加或修改vm.swappiness = 0

執行:

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

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

並編輯文件rc.local :`vim /etc/rc.local`

 

若安裝過程中中斷,再次繼續安裝時,可能出現主機受管情況:

 

此時停止所有cm服務,刪除cmf數據庫,重新初始化cmf數據庫即可。
刪除數據庫:進入mysql,執行drop database cmf;

create database cmf  DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
卸載掛載點:umount cm-5.13.1/run/cloudera-scm-agent/process
清除所欲節點的agent uuid信息:rm -rf cm-5.13.1/lib/cloudera-scm-agent/*

注意:一定要先卸載掛載點,否則會提示無法刪除:rm: 無法刪除"cm-5.13.1/run/cloudera-scm-agent/process": 設備或資源忙

選擇要安裝的服務,可直接選擇組安裝,或自定義安裝

填寫事先建好的數據庫信息

繼續操作,保持默認選項即可。

注意: 若修改了hdfs的存儲文件夾,一定要確定文件夾已經存在,並確保訪問權限。否側hdfs會無法啓動,並且報錯文件夾不存在。

 

、安裝或使用過程中遇到的問題

1、No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.

在安裝 NFS Gateway那個節點上安裝rpcbind:

    安裝:`yum install rpcbind`

    啓動:`service rpcbind start`

2、

在安裝Hive Metastore Server服務的那臺機器上操作:

    cp /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.45-bin.jar /opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib/

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