基于CDH的大數(shù)據(jù)平臺(tái)搭建

“Apache Hadoop存在版本管理混亂、部署過程繁瑣、升級(jí)過程復(fù)雜、兼容性差、安全性低等問題,CDH是Hadoop商業(yè)發(fā)行版之一,本文介紹基于Cloudera Manager的Cloudera? Hadoop 6.1.0大數(shù)據(jù)平臺(tái)搭建,簡單易上手 ”
基礎(chǔ)環(huán)境準(zhǔn)備
cm的rpm包:https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/cdh的parcels包:https://archive.cloudera.com/cdh6/6.1.0/parcels/
2、網(wǎng)絡(luò)
若是在虛擬機(jī)上配置(須滿足內(nèi)存>6G,磁盤劃分/至少40G,/data/10G),保證NAT模式下所有主機(jī)在同網(wǎng)段,且能訪問外網(wǎng)。修改IP、網(wǎng)關(guān)、DNS;
vim /etc/sysconfig/network-scripts/ifcfg-ens33首先,修改ifcfg-en33的dhcp自動(dòng)分配修改為靜態(tài)尋址,增加ip/掩碼/網(wǎng)關(guān)配置;(網(wǎng)關(guān)不管怎么配,都不要配192.168.x.1,因?yàn)?號(hào)IP是VMnet8網(wǎng)卡的IP)。
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="5ed941c2-deb4-48ae-a76d-838503c8683c"DEVICE="ens33"ONBOOT="yes"IPADDR="192.168.242.134"GATWAY="192.168.242.2"NETMASK="255.255.255.0"DNS1="192.168.242.2"
?配置完成后通過service network restart 重啟網(wǎng)卡設(shè)置,依然無法連接外網(wǎng)(ping www.baidu.com),可以增加默認(rèn)dns;
route add default gw 192.168.242.2其次,增加主機(jī)和主機(jī)名映射(/etc/hosts),關(guān)閉防火墻,關(guān)閉SElinux,設(shè)置多主機(jī)免密,開啟http服務(wù);
#cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.242.134 hadoop1
#關(guān)閉防火墻,centos7之前版本systemctl disable firewalld#關(guān)閉防火墻,centos7之后版本systemctl disable firewalld.service#重啟生效
#vi /etc/selinux/configSELINUX=disabledSELINUXTYPE=targeted
3、免密
主機(jī)免密的方法:
主機(jī)A/B/C為例,設(shè)置免密登錄的方法:① 每臺(tái)機(jī)器上執(zhí)行 ssh-keygen -t rsa ,敲3次回車會(huì)在家目錄/home/csap下生成隱藏的.ssh目錄,首先需要給此目錄賦權(quán)限700: chmod 700 .ssh;這個(gè)目錄下有兩個(gè)文件:id_rsa 私鑰和id_rsa.pub 公鑰;② 在此目錄中創(chuàng)建 authorized_keys 文件并賦權(quán):cd .sshtouch authorized_keyschmod 644 authorized_keys③ 以機(jī)器A為例,執(zhí)行以上操作后,如果不知道其他機(jī)器的密碼,比如綁定4A;把自己的 id_rsa.pub 公鑰 以及其他兩臺(tái)機(jī)器的公鑰粘貼到 authorized_keys文件中,然后把這個(gè)文件復(fù)制到其他2臺(tái)機(jī)器即可。等于所有機(jī)器都有其他機(jī)器的公鑰,即可完成ssh 免密登錄;④ 如果知道其他機(jī)器密碼,可以直接執(zhí)行這個(gè)把公鑰寫到其他機(jī)器的authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub?root@127.0.0.1
4、時(shí)鐘同步
1、所有機(jī)器安裝ntp :yum -y install ntp2、CM節(jié)點(diǎn)配置時(shí)鐘與自己同步:vim /etc/ntp.conf,刪除其他server,加入:server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 103、其他非CM節(jié)點(diǎn),同步CM節(jié)點(diǎn)的時(shí)間,vim /etc/ntp.conf,加入:server xxx.xxx.xxx.xx4、重啟所有機(jī)器的ntp服務(wù)systemctl restart ntpd或者service ntpd restartsystemctl status ntpd或者service ntpd status5、驗(yàn)證同步所有節(jié)點(diǎn)執(zhí)行ntpq –p,左邊出現(xiàn)*號(hào)表示同步成功。6、若不成功;/usr/sbin/ntpdate stdtime.gov.hkntpdate xxx.xxx.xxx.xxx手動(dòng)同步時(shí)間
5、http服務(wù)
開啟http服務(wù),/var/www/html/目錄下會(huì)自動(dòng)創(chuàng)建cm和cdh目錄
yum -y install httpdsystemctl start httpd 或service httpd start
6、制作yum源
開啟http服務(wù)#創(chuàng)建目錄,并上傳本地的cdh和cm到制定文件夾cd /var/www/html/mkdir cm-6.1.0 cdh-6.1.0#完成后在瀏覽器打開url:http://192.168.242.134/cm-6.1.0,能夠訪問則成功;制作本地yum源#下載yum源工具包yum -y install yum-utils createrepo# 在cm-6.1.0目錄下生成rpm元數(shù)據(jù):createrepo /var/www/html/cm-6.1.0#并對/var/www/html下的所有目錄和文件賦權(quán):chmod -R 755 /var/www/html#創(chuàng)建本地Cloudera Manager的repo源,創(chuàng)建/etc/yum.repos.d/myrepo.repo,加入一些配置項(xiàng):[myrepo]name = myrepobaseurl = http://192.168.242.134/cm-6.1.0enable = truegpgcheck = false#也可以直接修改Centos-Base.repo文件添加上面幾行;#完成后,使用yum repolist驗(yàn)證是否成功,會(huì)列出可以用源;yum repolist
完成后,可通過rul查看文件,確保repodata文件夾一定要成功生成,不然后續(xù)無法通過?。。?!

安裝CDH
1、安裝Cloudera-manager
這里使用默認(rèn)的pgsql作為元數(shù)據(jù)庫,可以自己安裝mysql庫,并將其作為元數(shù)據(jù)庫;
# ① 安裝必要rpm包cd /var/www/html/cm-6.1.0/chmod +x cloudera-manager-installer.bin# 安裝jdkrpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm# 安裝cm-agent、cm-daemon、cm-server、cm-server-db的rpm包,步驟有一定約束:rpm -ivh cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpmrpm -ivh cloudera-manager-server-6.1.0-769885.el7.x86_64.rpmrpm -ivh cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm (報(bào)錯(cuò))# 報(bào)錯(cuò)因?yàn)閟erver-db 依賴postgresql-server >= 8.4 ,使用yum 安裝,自動(dòng)下載依賴yum install -y cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm# server-agent 需要依賴更多rpm -ivh cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm#警告:cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID b0b19c9f: NOKEY錯(cuò)誤:依賴檢測失?。?/span># 解決辦法是分別yum安裝依賴包;yum install -y lsbyum install -y mod_sslyum install -y openssl-develyum install -y python-psycopg2yum install -y MySQL-python#完成后,重新安裝server-agent依賴# ② 上面的rpm依賴完成安裝后,啟動(dòng)cm的installer--skip_repo_package=1# ③ 刪除/etc/cloudera-scm-server/db.propertiesrm /etc/cloudera-scm-server/db.properties
安裝完成后提示如下說明cm安裝成功,啟動(dòng)7180端口,用戶名和密碼都是admin;

驗(yàn)證:
(1)netstat -lnpt | grep 7180 端口有運(yùn)行;
(2)查看日志:tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log 提示ScmActive completed successfully
(3)web查看xx.xx.xx.xx:7180是否可以訪問;
2、安裝CDH
使用本地parcel包安裝cdh(坑很多),cm的安裝,web訪問192.168.242.134:7180登錄cm頁面按照指引進(jìn)行cdh安裝。
① 存儲(chǔ)庫選擇http://192.168.242.134/cm-6.1.0(確認(rèn)http服務(wù)已開啟,可以url訪問)
② 修改cdh的parcels文件名稱:
mv?CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha256?CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha③ 經(jīng)常出現(xiàn)無法讀取本地cdh的parcels包問題,需要重啟installer;一般沒用,還是外網(wǎng)下載。。。
# 卸載重裝/opt/cloudera/installer/uninstall-cloudera-manager.shrm /etc/cloudera-scm-server/db.properties./cloudera-manager-installer.bin --skip_repo_package=1
帖子上說可以重啟scm-server解決,但無效,可以在其下載一半返回頁面,重新掃描可以解決;

2、配置cdh中的大數(shù)據(jù)相關(guān)組件
按照指引進(jìn)行,記住數(shù)據(jù)庫的登錄名和密碼;

初始化組件安裝時(shí)容易出現(xiàn)主機(jī)資源不足,前期應(yīng)該給cm節(jié)點(diǎn)足夠的存儲(chǔ)空間;

能夠完成組件安裝,就可以看見實(shí)時(shí)監(jiān)控頁面,后續(xù)擴(kuò)容將后面補(bǔ)充;

--end--
