轉(zhuǎn)載:http://www.wangyongkui.com/hadoop-cdh5。
系統(tǒng)環(huán)境
4臺聯(lián)想R510服務(wù)器,其中master節(jié)點4核心、8GB,其它節(jié)點雙核心、4GB。 網(wǎng)卡:100M。 共有硬盤6TB。 網(wǎng)絡(luò)環(huán)境內(nèi)網(wǎng)。 Centos6.5 x64(安裝系統(tǒng)時盡量把開發(fā)包安裝齊全,另master節(jié)點需要Mysql可以在安裝系統(tǒng)時勾選)。
準備工作
卸載系統(tǒng)自帶OPEN-JDK(所有節(jié)點)
安裝好的Centos系統(tǒng)有時會自動安裝OpenJdk,用命令java -version查看:
| 2 | OpenJDK?Runtime Environment (build 1.6.0-b09) |
| 3 | OpenJDK?64-Bit Server VM (build 1.6.0-b09, mixed mode) |
如有上述顯示,說明系統(tǒng)里已經(jīng)有OpenJdk,執(zhí)行以下命令查看系統(tǒng)中有哪些OpenJdk相關(guān)包:
其中有如下包必須卸載,根據(jù)系統(tǒng)版本不同,各個包版本號會有所差異: java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 執(zhí)行以下命令,卸載:
| 1 | rpm -e --nodeps?java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 |
| 2 | rpm -e --nodeps?java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 |
| 3 | rpm -e --nodeps?java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 |
安裝JDK(所有節(jié)點)
從官方網(wǎng)站上下載rpm包,本次使用版本1.7.0_55-b13(CDH5可能支持1.7之前的版本,具體情況未經(jīng)測試),執(zhí)行命令:
| 1 | rpm -ivh jdk-7u55-linux-x64.rpm |
由于是rpm包并不需要我們來配置環(huán)境變量,我們只需要配置一個全局的JAVA_HOME變量即可,執(zhí)行命令:
| 1 | echo?"JAVA_HOME=/usr/java/latest/"?>> /etc/environment |
執(zhí)行命令,查看Jdk是否安裝正確
修改主機名
修改/etc/sysconfig/network文件:
其中HOSTNAME與主機名一致。主機名如果跟系統(tǒng)安裝時不一致請執(zhí)行hostname命令讓其立即生效,否則會影響各節(jié)點互相訪問。修改/etc/hosts文件,添加:
| 1 | 192.168.1.101 master.hadoop |
| 2 | 192.168.1.102 datanode1 |
| 3 | 192.168.1.103 datanode2 |
| 4 | 192.168.1.104 datanode3 |
執(zhí)行命令:
| 1 | service network restart |
打通SSH(所有節(jié)點)
這里master節(jié)點和其他datanode節(jié)點會略有區(qū)別。?首先說有節(jié)點均執(zhí)行如下命令,遇到提示一路回車即可:
然后在主節(jié)點執(zhí)行以下命令:
| 1 | cat?~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys |
scp文件到所有datenode節(jié)點:
| 1 | scp?~/.ssh/authorized_keys root@datanode1:~/.ssh/ |
然后輸入密碼即可,以后再到其他機器就不需要密碼額。
關(guān)閉防火墻(所有節(jié)點)
防火墻會引起hadoop相關(guān)組件通訊的各種異常。?防火墻:
| 1 | service iptables stop (臨時關(guān)閉) |
| 2 | chkconfig iptables off (重啟后生效) |
SELINUX:
修改/etc/selinux/config 下的 SELINUX=disabled (重啟后生效)。
安裝NTP服務(wù)(所有節(jié)點)
集群中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。?具體思路如下:
master節(jié)點作為ntp服務(wù)器與外界對時中心同步時間,隨后對所有datanode節(jié)點提供時間同步服務(wù)。 所有datanode節(jié)點以master節(jié)點為基礎(chǔ)同步時間。
所有節(jié)點安裝相關(guān)組件:ntp與ntpdate。按順序安裝即可,完成后,配置開機啟動:
檢查是否設(shè)置成功:
其中2-5為on狀態(tài)就代表成功。
配置內(nèi)網(wǎng)NTP服務(wù)器(master節(jié)點)
在配置之前,先使用ntpdate手動同步一下時間,免得本機與對時中心時間差距太大,使得ntpd不能正常同步。這里選用65.55.56.206作為對時中心。
ntp服務(wù)只有一個配置文件,配置好了就OK。 這里只給出有用的配置,不需要的配置都用#注掉,這里就不在給出:
| 1 | driftfile /var/lib/ntp/drift |
| 4 | restrict default nomodify notrap? |
| 5 | server 65.55.56.206 prefer |
| 6 | includefile /etc/ntp/crypto/pw |
配置文件完成,保存退出,啟動服務(wù),執(zhí)行如下命令:
| 2 | chkconfig ntpd on (設(shè)置開機啟動) |
檢查是否成功,用ntpstart命令查看同步狀態(tài),出現(xiàn)以下狀態(tài)代表啟動成功:
| 1 | synchronised to NTP server () at stratum 2 |
| 2 | time?correct to within 74 ms |
| 3 | polling server every 128 s |
如果出現(xiàn)異常請等待幾分鐘,一般等待5-10分鐘才能同步。
配置ntp客戶端(所有datanode節(jié)點)
| 1 | driftfile /var/lib/ntp/drift |
| 4 | restrict default kod nomodify notrap nopeer noquery |
| 5 | restrict -6 default kod nomodify notrap nopeer noquery |
| 7 | includefile /etc/ntp/crypto/pw |
ok保存退出,請求服務(wù)器前,請先使用ntpdate手動同步一下時間:
| 1 | ntdate -u 192.168.1.101 (內(nèi)網(wǎng)ntp服務(wù)器) |
這里可能出現(xiàn)同步失敗的情況,請不要著急,一般是本地的ntp服務(wù)器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。啟動服務(wù):
因為是連接內(nèi)網(wǎng),這次啟動等待的時間會比master節(jié)點快一些,但是也需要耐心等待一會兒。
Mysql配置(master節(jié)點)
只需要配置master節(jié)點的Mysql即可。(這里不再介紹如何安裝Mysql) 將mysql設(shè)置為開機啟動:
本次安裝需要創(chuàng)建如下數(shù)據(jù)庫(不包括Cloudera Manager的數(shù)據(jù)庫,Cloudera Manager數(shù)據(jù)庫有相關(guān)腳本創(chuàng)建,后面會有說明)
| 2 | create?database?hive?DEFAULT?CHARSET utf8?COLLATE?utf8_general_ci |
| 3 | --集群監(jiān)控數(shù)據(jù)庫 |
| 4 | create?database?amon?DEFAULT?CHARSET utf8?COLLATE?utf8_general_ci |
| 6 | create?database?hue?DEFAULT?CHARSET utf8?COLLATE?utf8_general_ci |
以上數(shù)據(jù)庫,可能會根據(jù)安裝組件的不同略有差別。 給用戶授權(quán)(這里密碼設(shè)為hadoop)
| 1 | grant?all?on?*.*?to?root@"%"?Identified?by?"hadoop"; |
正式開工
安裝Cloudera Manager 5(cm5)
下載地址http://archive-primary.cloudera.com/cm5/cm/5/,根據(jù)自己的系統(tǒng)選擇相應(yīng)的版本,本次安裝選用的是cloudera-manager-el6-cm5.0.0_x86_64.tar.gz。下載完成后只上傳到master節(jié)點即可。然后解壓到/opt目錄下,不能解壓到其他地方,因為cdh5的源會默認在/opt/cloudera/parcel-repo尋找,怎么制作cdh5的本地源文件會在之后介紹。給所有節(jié)點添加cloudera-scm用戶:
| 1 | useradd?--system --home=/opt/cm-5.0.0/run/cloudera-scm-server --no-createhome --shell=/bin/false?--comment?"Cloudera SCM User"?cloudera-scm |
修改/opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini 下面的serer_host
| 1 | server_host=master.hadoop |
為Cloudera Manager 5建立數(shù)據(jù)庫:
| 1 | /opt/cm-5.0.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop --scm-host localhost scm scm scm |
格式是:scm_prepare_database.sh 數(shù)據(jù)庫類型 ?數(shù)據(jù)庫 服務(wù)器 用戶名 密碼 ?–scm-host ?Cloudera_Manager_Server所在的機器,后面那三個不知道代表什么,直接照抄官網(wǎng)的了。 因為我們用的是Mysql數(shù)據(jù)庫,所以我們需要下載Mysql的JDBC驅(qū)動,本次從官網(wǎng)上下載最新穩(wěn)定版:mysql-connector-java-5.1.30.tar.gz,解壓之后找到mysql-connector-java-5.1.30-bin.jar放到/opt/cm-5.0.0/share/cmf/lib/目錄下。 開啟Cloudera Manager 5 Server端:
| 1 | /opt/cm-5.0.0/etc/init.d/cloudera-scm-server start |
注意server首次啟動不要立即關(guān)閉或重啟,因為首次啟動會自動創(chuàng)建相關(guān)表以及數(shù)據(jù),如果因為特殊原因中途退出,請先刪除所有表以及數(shù)據(jù)之后再次啟動,否則將會出現(xiàn)啟動不成功的情況。?開啟Cloudera Manager 5 Agents端。 先scp /opt/cm-5.0.0到所有datanode節(jié)點上,然后在每臺機器上開啟Agents端:
| 1 | scp?-r ?/opt/cm-5.0.0 root@datanode1:/opt/cm-5.0.0 |
等待拷貝成功,在所有datanode節(jié)點上啟動:(注意必須以管理員權(quán)限啟動)
| 1 | sudo?/opt/cm-5.0.0/etc/init.d/cloudera-scm-agent start |
瀏覽器啟動Cloudera Manager 5 控制臺(默認端口號是7180),啟動成功就會看到登陸頁面。
安裝CDH5
先下載到本地http://archive-primary.cloudera.com/cdh5/parcels/5.0.0/,這里需要下載兩樣東西,首先是與自己系統(tǒng)版本相對應(yīng)的parcel包,然后是manifest.json文件。下載完成后將這兩個文件放到master節(jié)點的/opt/cloudera/parcel-repo下(目錄在安裝Cloudera Manager 5時已經(jīng)生成),注意目錄一個字都不能錯,接下來打開manifest.json文件,里面是json格式的配置,我們需要的就是與我們系統(tǒng)版本相對應(yīng)的hash碼,因為我們用的是Centos6.5,所以找到如下位置:
在這個大括號的最下面找到“hash”所對應(yīng)的值。
?
將“hash”的值復(fù)制下來,然后創(chuàng)建一個文件,文件名與你的parel包名一致,并加上.sha后綴:
這樣你的目錄下將有這3個文件,將“hash”的值復(fù)制到新建的sha文件中,并保存,好了,我們的本地源制作完成了。這樣基本大功告成了,再之后的操作就是控制臺按照步驟安裝即可。
打開http://192.168.1.101:7180,登陸控制臺,默認賬戶和密碼都是admin,安裝時選擇免費版,之后由于cm5對中文的支持很強大,按照提示安裝即可,如果系統(tǒng)配置有什么問題在安裝過程中會有提示,根據(jù)提示給系統(tǒng)安裝組件就可以了。
如果在安裝時選擇了安裝Hive,可能會遇到安裝失敗的問題,查看一下日志發(fā)現(xiàn)時安裝Hive時需要安裝JDBC驅(qū)動,所以同樣我們將Mysql的驅(qū)動包拷貝到/opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/hive/lib/目錄下,之后再繼續(xù)安裝就不會遇到問題了。
參考文獻:http://www.cnblogs.com/thinkCoding/p/3567408.html
? ? ? ? ? ? ? ??http://www.byywee.com/page/M0/S877/877056.html
總結(jié)
以上是生活随笔為你收集整理的Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop集群搭建)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。