Ubuntu 16.04上搭建CDH5.16.1集羣

本文參考自:《Ubuntu16.04上搭建CDH5.14集羣html

 

 1.準備三臺(CDH默認配置爲三臺)安裝Ubuntu 16.04.4 LTS系統的服務器,假設ip地址分佈爲java

192.168.100.19python

192.168.100.20mysql

192.168.100.21sql

(若是是虛擬機,建議內存配置爲8G或以上,不然會致使各類啓動運行失敗。)shell

 

2.全部的操做都在root下進行,因此首先須要設置ssh可使用root登陸(若是已是root登陸則跳過)數據庫

①設置root的登陸密碼json

sudo passwd root

②切換到root用戶ubuntu

sudo su root

③設置登陸帳戶可使用root瀏覽器

vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password #屏蔽這一行 PermitRootLogin yes #增長這一行

④更新軟件列表並檢查是否聯網狀態

apt-get update

 

3.關閉防火牆

ufw disable

 

4.設置三臺機器的hostname和hosts

①設置hostname:

vi /etc/hostname

192.168.100.19對應設置爲hadoop-master

192.168.100.20對應設置爲hadoop-slave1

192.168.100.21對應設置爲hadoop-slave2

②修改hosts

vi /etc/hosts
127.0.0.1 localhost #127.0.1.1 test1 #屏蔽這一行 #新增下面三行 192.168.100.19 hadoop-master 192.168.100.20 hadoop-slave1 192.168.100.21 hadoop-slave2

③使用ping命令,查看以上設置是否正確

ping hadoop-master ping hadoop-slave1 ping hadoop-slave2

重啓後用root登陸 

 

5.讓三臺服務器之間互相可使用root無需輸入密碼進行ssh登陸。

①生成公鑰(不要設置密碼)

ssh-keygen -t rsa

 截圖以下:

②將本機的公鑰複製到另外兩臺服務器上。(過程須要輸入目標服務器的root登陸密碼)

ssh-copy-id -i /root/.ssh/id_rsa.pub hadoop-master #在slave1和slave2上執行 ssh-copy-id -i /root/.ssh/id_rsa.pub hadoop-slave1 #在master和slave2上執行 ssh-copy-id -i /root/.ssh/id_rsa.pub hadoop-slave2  #在master和slave1上執行

③測試是否成功

ssh hadoop-master #無密碼遠程登陸hadoop-master,使用exit退出 ssh hadoop-slave1 #無密碼遠程登陸hadoop-slave1,使用exit退出 ssh hadoop-slave2 #無密碼遠程登陸hadoop-slave2,使用exit退出

④若是出現下面的報錯

ssh:connect to host hadoop-slave1 port 22: Connection refused

ssh: connect to host hadoop-slave1 port 22: Connection timed out

檢查root的密碼是否正確,可使用ssh localhost檢查一下是否能夠登陸到本機,若是不行則證實root密碼有問題,轉到上面第2個步驟從新設置root密碼。

檢查/etc/hosts文件中ip和hostname是否正確

檢查防火牆是否關閉

 

6.安裝JAVA運行環境

①正常顯示版本號則跳過下面步驟

java -version

②若是顯示以下,則表示尚未安裝JAVA

 ③具體JDK的安裝能夠參考

《大數據新手之路一:安裝JDK》

 

7.安裝JAVA的MySQL軟件包

apt-get install libmysql-java

 

8.只在hadoop-master中安裝MySQL(過程須要輸入MySQL的登陸密碼)

①安裝MySQL

apt-get install mysql-server mysql-client

②測試是否安裝成功

mysql -uroot -p

③建立對應的庫以及用戶

create database hive DEFAULT CHARSET utf8; create database rman DEFAULT CHARSET utf8; create database oozie DEFAULT CHARSET utf8; create database hue DEFAULT CHARSET utf8; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456'; grant all on rman.* TO 'rman'@'%' IDENTIFIED BY '123456'; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456'; grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';

④成功後退出MySQL

quit

 

9.只在hadoop-master下載CDH相關文件(因爲版本的更新,版本號會不斷遞增),並進行設置

①在瀏覽器中輸入 http://archive.cloudera.com/cm5/cm/5/ 查看到ubuntu對應最新版本

②在瀏覽器中輸入 http://archive.cloudera.com/cdh5/parcels/latest 查看到ubuntu對應最新版本

③將上面的四個文件都下載下來

wget -c http://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.16.1_amd64.tar.gz
wget -c http://archive.cloudera.com/cdh5/parcels/latest/CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel
wget -c http://archive.cloudera.com/cdh5/parcels/latest/CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha1
wget -c http://archive.cloudera.com/cdh5/parcels/latest/manifest.json

④將CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha1文件重命名爲CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha

mv CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha1 CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha

⑤在/opt中創建對應的文件夾結構(cm-5.16.1爲當前版本號)

| --/opt
      |--/cloudera
                 |--/parcels
                 |--/parcel-repo
      |--/cm-5.16.1
cd /opt mkdir cm-5.16.1
mkdir cloudera cd cloudera mkdir parcels mkdir parcel-repo

⑥將CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel、CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha和manifest.json三個文件拷貝到/opt/cloudera/parcel-repo中

cp CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel CDH-5.16.1-1.cdh5.16.1.p0.3-xenial.parcel.sha manifest.json /opt/cloudera/parcel-repo

⑦解壓cloudera-manager-xenial-cm5.16.1_amd64.tar.gz到/opt中

tar -zxf cloudera-manager-xenial-cm5.16.1_amd64.tar.gz -C /opt

⑧連接mysql鏈接庫到cm

ln -s /usr/share/java/mysql-connector-java.jar /opt/cm-5.16.1/share/cmf/lib/mysql-connector-java.jar

⑨配置cm5的數據庫

cd /opt/cm-5.16.1/share/cmf/schema ./scm_prepare_database.sh mysql -uroot -p你的MySQL密碼 scm scm scm --force

⑩修改配置文件

vi /opt/cm-5.16.1/etc/cloudera-scm-agent/config.ini
# Hostname of the CM server. server_host=hadoop-master #修改成主機名

⑪將cm-5.16.1複製到另外兩個節點

scp -r /opt/cm-5.16.1 hadoop-slave1:/opt/
scp -r /opt/cm-5.16.1 hadoop-slave2:/opt/

 

10.在全部節點啓動ServerAgent(務必先執行後面全部紅色操做重啓系統!!!再啓動進程,避免出現錯誤再處理的反覆折騰)

①啓動進程

cd /opt/cm-5.16.1/etc/init.d ./cloudera-scm-server start ./cloudera-scm-agent start

②若是報錯 install: invalid user ‘cloudera-scm’,則增長一個用戶

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

③若是還報錯 Starting cloudera-scm-server:  * Couldn't start cloudera-scm-server

則看log詳細報錯信息進行對應處理

cd /opt/cm-5.16.1/log/cloudera-scm-server
cat cloudera-scm-server.out #server報錯
cd /opt/cm-5.16.1/log/cloudera-scm-agen
cat cloudera-scm-agent.out #agent報錯

好比agent的錯誤提示 /usr/bin/env: ‘python2.7’: No such file or directory 表示須要安裝python2.7

apt-get install python2.7

 

11.稍等一下(時間比較長,耐心等待),在瀏覽器中輸入 http://192.168.100.19:7180/cmf/login,並輸入用戶名和密碼(默認都是admin)

 

 

12.贊成End User License Terms and Conditions

 

13.選擇試用版

 

14.感謝選擇CM和CDH

 

15.選擇全部主機安裝CDH集羣

 

16.選擇集羣安裝的方法和版本,其它選擇默認的None

 

 17.等待三個節點安裝完畢(一開始會是紅色,慢慢安裝完成後變綠色)

 

18.監測集羣中三個節點的狀態

 

這裏須要設置vm.swappiness=10(設置完成後須要重啓才生效,能夠進行後面處理後再進行重啓)

vi /etc/sysctl.conf
vm.swappiness=10 #在文件最後增長一行
cat /proc/sys/vm/swappiness #查看當前值

 

19.根據須要安裝對應的組件或者所有安裝

 

 20.按需選擇DataNode的節點和其它配置

 

21.依次輸入表名、用戶名和密碼(和8③中保持一致),測試鏈接一切正常。

①錯誤1 : No database server found running on host hadoop-master.

解決辦法:將hadoop-master修改成localhost

②錯誤2:Unexpected error.Unable to verify database connection.

解決辦法:進入log裏面查找緣由

cd /opt/cm-5.16.1/log/cloudera-scm-server tail cloudera-scm-server.log -n 50

③找到第一個Error:缺乏了對應的mysqlclient庫

Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory

對應的解決辦法:

apt-cache search libmysql
apt-get install libmysql++-dev

④找到第二個Error:缺乏對應的python庫

Error: libxslt.so.1: cannot open shared object file: No such file or directory

對應的解決辦法:缺乏python的庫

apt-get install python-libxslt1

 

22.集羣配置的複覈界面,保持默認值或者根據具體需求進行配置

 

23.開始運行集羣配置

報錯:Error: JAVA_HOME is not set and could not be found.

解決辦法:全部三個節點都從新設置JAVA的快鏈位置(下面的例子將/usr/local/java快捷方式到/usr/java)

mkdir /usr/java
ln -s /usr/local/java /usr/java/default

 

24.恭喜完成!

25.若是有安裝了Hive和Hue服務的話,可使用http://192.168.100.19:8888進行訪問。

 

以上。

相關文章
相關標籤/搜索