CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop衆多分支中的一種,由Cloudera維護,基于穩定版本的Apache Hadoop建構,并內建了很多更新檔,可直接用于生産環境。
Cloudera Manager則是為了便于在叢集中進行Hadoop等大資料處理相關的服務安裝和監控管理的元件,對叢集中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。
作業系統:CentOS 6.5 x64 (至少記憶體2G以上)
Cloudera Manager:5.6.1
CDH: 5.6.1
#安裝說明
相關安裝包下載下傳:
Cloudera Manager
位址:http://archive.cloudera.com/cm5/cm/5/
CDH安裝包
位址:http://archive.cloudera.com/cdh5/parcels
CentOS7,下載下傳的parcels包及manifest檔案對應的版本為e17:
Ps:CENTOS6.X,下載下傳el6
JDBC
https://dev.mysql.com/downloads/connector/j/
mysql-connector-java-5.1.46.tar.gz
Ps : JDBC目前已經有6.x,但與CDH 5.x存在不相容.
注意:所有的安裝包應注意相容性。安裝前一定要注意自己的系統與軟體的版本相容,否則又得失敗重來!
安裝包總覽:
cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
mysql-connector-java-5.1.46.tar.gz
1.下載下傳jdbc的jar包
2.下載下傳cloudera manager
可以在http://archive.cloudera.com/cm5/cm/5/上選擇合适的版本點選下載下傳,不過本人習慣複制連結位址用wget指令下載下傳
[[email protected] ~]# wget http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
3.CDH安裝包下載下傳
http://archive.cloudera.com/cdh5/parcels/5.6.1.3/
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/manifest.json
##準備工作:系統環境搭建
1.關閉防火牆和SELinux
使用service iptables status指令檢視防火牆狀态。
使用service iptables stop關閉防火牆,這個指令是臨時有效,當主機重新開機完閉即失效。
如果要永久關閉可以使用如下:
檢視防火牆狀态:chkconfig iptables --list
開啟:chkconfig iptables on
關閉:chkconfig iptables off
關閉SELINUX(實際安裝過程中發現沒有關閉也是可以的,不知道會不會有問題,還需進一步進行驗證):
setenforce 0 (臨時生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重新開機後永久生效)
注意這裡不要改錯了,否則重新開機開不了機
2.配置網絡及主機名稱。
2.1使用vi /etc/sysconfig/network将HOSTNAME修改為hadoop1
[[email protected] ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1
2.2修改ip與主機名的對應關系
這裡我們配置三台伺服器,hadoop1做主節點,其他兩台做從節點
[[email protected] ~]# vi /etc/hosts
192.168.1.106 hadoop1
192.168.1.107 hadoop2
192.168.1.108 hadoop3
3.配置互信
3.1建立~/.ssh 目錄
3.2生成公匙
cd ~/.ssh
ssh-keygen -t rsa
在這個過程中一直回車就可以了
3.3将id_rsa.pub公匙添加到authorized_keys中
cat id_rsa.pub>>authorized_keys
3.4配置設定權限
chmod 700 ~/.ssh/authorized_keys
3.5最後使用ssh hadoop1進行驗證是否可以登陸即可。
[[email protected] ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
11:0e:03:87:3f:45:94:5c:43:f7:a1:06:9b:fc:70:64 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o++++= E . |
| .. ++o O o . |
| . .o = + . |
| o . = |
| .S . |
| |
| |
| |
| |
+-----------------+
[[email protected] ~]#
[[email protected] ~]#
[[email protected] ~]# cd ~/.ssh/
[[email protected] .ssh]# ll
total 8
-rw------- 1 root root 1675 Mar 17 11:49 id_rsa
-rw-r--r-- 1 root root 394 Mar 17 11:49 id_rsa.pub
[[email protected] .ssh]# cat id_rsa.pub>>authorized_keys
[[email protected] .ssh]# chmod 700 ~/.ssh/authorized_keys
[[email protected] .ssh]# ll
total 12
-rwx------ 1 root root 394 Mar 17 11:50 authorized_keys
-rw------- 1 root root 1675 Mar 17 11:49 id_rsa
-rw-r--r-- 1 root root 394 Mar 17 11:49 id_rsa.pub
[[email protected] .ssh]# ssh hadoop1
The authenticity of host 'hadoop1 (192.168.2.11)' can't be established.
RSA key fingerprint is 78:92:0c:48:bb:e5:30:a8:b7:57:08:83:1f:7a:e3:ef.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop1,192.168.2.11' (RSA) to the list of known hosts.
Last login: Sat Mar 17 11:48:29 2018 from 192.168.2.1
[[email protected] ~]# exit
logout
Connection to hadoop1 closed.
[[email protected] .ssh]# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/#之後輸入密碼即可
[[email protected] .ssh]# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/#之後輸入密碼即可
4.安裝Oracle的Java(所有節點)
CentOS,自帶OpenJdk,不過運作CDH5需要使用Oracle的Jdk,需要Java 7的支援。
4.1解除安裝自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用 yum -y remove 包名解除安裝之。
[[email protected] ~]# rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el6_9.x86_64
java-1.7.0-openjdk-devel-1.7.0.171-2.6.13.0.el6_9.x86_64
[[email protected] ~]# #解除安裝上面系統自帶的jdk
[[email protected] ~]# yum -y remove java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el6_9.x86_64
[[email protected] ~]# yum -y remove java-1.7.0-openjdk-devel-1.7.0.171-2.6.13.0.el6_9.x86_64
下載下傳jdk7或8都行
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
4.2 確定/app目錄中有JDK 安裝包,這個目錄是随意起的。
4.3 在/app目錄中使用tar -zxvf jdk-8u181-linux-x64.tar.gz 解壓縮
4.4 使用mv jdk1.8.0_181 jdk
4.5 使用 vi /etc/profile 指令配置環境變量。
4.6 使用source /etc/profile指令使配置生效。
4.7 使用java -version 檢視JDK 版本号.
[[email protected] app]# tar -zxvf jdk-8u181-linux-x64.tar.gz
[[email protected] app]# mv jdk1.8.0_181 jdk
[[email protected] app]# vi /etc/profile#追加兩行,儲存退出
export JAVA_HOME=/app/jdk
export PATH=.:$PATH:$JAVA_HOME/bin
[[email protected] app]# source /etc/profile
[[email protected] app]# java -version#出現版本号資訊說明jdk安裝成功
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
5.所有節點配置NTP服務
ntp服務不安裝也可以,隻要保證時間同步就沒有問題。
叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:
master節點作為ntp伺服器與外界對時中心同步時間,随後對所有datanode節點提供時間同步服務。
所有datanode節點以master節點為基礎同步時間。
所有節點安裝相關元件:yum install ntp。完成後,配置開機啟動:chkconfig ntpd on,檢查是否設定成功:chkconfig --list ntpd其中2-5為on狀态就代表成功。
[[email protected] ~]# yum install -y ntp
[[email protected] ~]# service ntpd start
[[email protected] ~]# chkconfig ntpd on
5.1 主節點配置
位置/etc/ntp.conf
在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntpd不能正常同步。這裡選用65.55.56.206作為對時中心,
[[email protected] ~]# ntpdate -u 65.55.56.206
ntp服務隻有一個配置檔案,配置好了就OK。 這裡隻給出有用的配置,不需要的配置都用#注掉,這裡就不在給出:
[[email protected] ~]# vi /etc/ntp.conf
...
...
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server cn.ntp.org.cn prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置檔案完成,儲存退出,啟動服務,執行如下指令:service ntpd start
檢查是否成功,用ntpstat指令檢視同步狀态,出現以下狀态代表啟動成功:
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
如果出現異常請等待幾分鐘,一般等待5-10分鐘才能同步。
5.2 配置ntp用戶端(所有datanode節點)
[[email protected] ~]# vi /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#這裡是主節點的主機名或者ip
server hadoop1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ok儲存退出,請求伺服器前,請先使用ntpdate手動同步一下時間:ntpdate -u n1 (主節點ntp伺服器)
這裡可能出現同步失敗的情況,請不要着急,一般是本地的ntp伺服器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。啟動服務:service ntpd start
因為是連接配接内網,這次啟動等待的時間會比master節點快一些,但是也需要耐心等待一會兒。
6.安裝mysql服務(主節點)
yum install mysql-server
chkconfig mysqld on
service mysqld start
mysqladmin -u root password 'root'
##7.正式安裝
前面的步驟都是鋪墊,如果有些軟體已經安裝過,可以直接跳到這一步,失敗重新安裝也是從這開始。
安裝再預覽一下所需要的安裝包:
cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
mysql-connector-java-5.1.46.tar.gz
##安裝Cloudera Manager Server 和Agent
主節點解壓安裝
cloudera manager的目錄預設位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz将解壓後的cm-5.1.3和cloudera目錄放到/opt目錄下。
為Cloudera Manager 5建立資料庫,這裡需要jdbc驅動mysql-connector-java-5.1.46.tar.gz,解壓後,找到mysql-connector-java-5.1.46-bin.jar,放到/opt/cm-5.6.1/share/cmf/lib/中。
在主節點初始化CM5的資料庫:
/opt/cm-5.6.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.6.1/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。
同步Agent到其他節點
scp -r /opt/cm-5.1.3 [email protected]:/opt/
在所有節點建立cloudera-scm使用者
useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
準備Parcels,用以安裝CDH5
将CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動建立)。
相關的檔案如下:
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
最後将CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1,重命名為CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha,這點必須注意,否則,系統會重新下載下傳CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel檔案。
相關啟動腳本
通過/opt/cm-5.6.1/etc/init.d/cloudera-scm-server start啟動服務端。
通過/opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start啟動Agent服務。
我們啟動的其實是個service腳本,需要停止服務将以上的start參數改為stop就可以了,重新開機是restart。
#CDH5的安裝配置
在主節點上啟動clouderamanager
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-server start
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start
從節點上也啟動
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start
記得在Windows上也要配置域名資訊
追加
192.168.1.106 hadoop1
192.168.1.107 hadoop2
192.168.1.108 hadoop3
過一會在網頁上輸入hadoop1:7181,賬号密碼都是admin
echo 10 > /proc/sys/vm/swappiness
cat /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
剩下的叢集配置自己慢慢配置吧。
安裝過程中很容易出現的狀況就是,各種安裝失敗的情況,原因大部分是權限問題,自己看看日志,修改權限的指令為
chown -R hadoop:hadoop /檔案路徑
或者chown -R xx:xx /檔案路徑
檢視背景運作狀況
ps -ef|grep cloudera
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent status
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-server status
我的GitHub
QQ:2541692705
郵箱:[email protected]
微信掃一掃關注我,沒事可以玩玩小遊戲
我想去流浪,我想去讀書,若有機會,江湖再見
掃一掃,領取紅包,就當獎勵你我付出的努力