很少說,直接上乾貨!html
福利 => 天天都推送 node
前期博客python
說在前面的話(看清楚就好!!!)mysql
我這篇博客,是兩種方式都使用過:(在/etc/yum.repos.d下的)jquery
[hadoop@clouderamanager01 yum.repos.d]$ sudo vi cloudera-manager.repo [hadoop@clouderamanager02 yum.repos.d]$ sudo vi cloudera-manager.repo [hadoop@clouderamanager03 yum.repos.d]$ sudo vi cloudera-manager.repo
即(博主我推薦用這種!!!)(可是不需)sql
[cloudera-manager]
# Packages for Cloudera Manager, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera Manager baseurl=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/ gpgkey =https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera gpgcheck = 1
或者(可是,須要自定義存儲庫)數據庫
[cloudera-manager]
# Packages for Cloudera Manager, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera Manager baseurl=https://clouderamanager01/cm5/redhat/6/x86_64/cm/5.3.6/
enabled = 1 gpgcheck = 1
我這裏是,使用CM 5.3.x利用parcels方式集羣安裝CDH 5.3.x單節點集羣!(開始開工)json
下載CDH離線包緩存
http://archive.cloudera.com/cdh5/parcels/
我這裏,是選擇5.3.6版本微信
http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 http://archive.cloudera.com/cdh5/parcels/5.3.6/manifest.json
如下是clouderamanager01這臺機器上(主節點)
[hadoop@clouderaManager01 softwares]$ pwd
/opt/softwares [hadoop@clouderaManager01 softwares]$ ll total 4 drwxr-xr-x 2 hadoop hadoop 4096 Apr 8 13:49 cm-5.3.6 [hadoop@clouderaManager01 softwares]$ sudo mkdir cdh-5.3.6 [hadoop@clouderaManager01 softwares]$ ll total 8 drwxr-xr-x 2 root root 4096 Apr 8 20:00 cdh-5.3.6 drwxr-xr-x 2 hadoop hadoop 4096 Apr 8 13:49 cm-5.3.6 [hadoop@clouderaManager01 softwares]$ cd cdh-5.3.6/ [hadoop@clouderaManager01 cdh-5.3.6]$ pwd /opt/softwares/cdh-5.3.6 [hadoop@clouderaManager01 cdh-5.3.6]$ ll total 0 [hadoop@clouderaManager01 cdh-5.3.6]$ sudo rz [hadoop@clouderaManager01 cdh-5.3.6]$ sudo rz [hadoop@clouderaManager01 cdh-5.3.6]$ sudo rz [hadoop@clouderaManager01 cdh-5.3.6]$ ll total 1473900 -rw-r--r-- 1 root root 1509217191 Apr 7 19:38 CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.html -rw-r--r-- 1 root root 41 Apr 7 19:24 CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 -rw-r--r-- 1 root root 42661 Apr 7 19:24 manifest.json [hadoop@clouderaManager01 cdh-5.3.6]$
如下是clouderamanager01這臺機器上安裝以後,默認產生的(在這裏,你看看就好)
[hadoop@clouderaManager01 opt]$ pwd
/opt [hadoop@clouderaManager01 opt]$ ll total 16 drwxr-xr-x 4 cloudera-scm cloudera-scm 4096 Apr 8 18:31 cloudera drwxr-xr-x 2 root root 4096 Apr 8 18:13 cloudera-manager drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh drwxr-xr-x 4 hadoop hadoop 4096 Apr 8 20:00 softwares [hadoop@clouderaManager01 opt]$ cd cloudera [hadoop@clouderaManager01 cloudera]$ ll total 8 drwxr-xr-x 2 cloudera-scm cloudera-scm 4096 Jul 30 2015 csd drwxr-xr-x 2 cloudera-scm cloudera-scm 4096 Jul 30 2015 parcel-repo [hadoop@clouderaManager01 cloudera]$ cd parcel-repo/ [hadoop@clouderaManager01 parcel-repo]$ pwd /opt/cloudera/parcel-repo [hadoop@clouderaManager01 parcel-repo]$ ll total 0 [hadoop@clouderaManager01 parcel-repo]$
或者,有時候,安裝CM完成後,出現:
如下是clouderamanager01這臺機器上安裝以後,默認產生的(在這裏,你看看就好)
[hadoop@clouderamanager01 opt]$ pwd
/opt [hadoop@clouderamanager01 opt]$ ll total 8 drwxr-xr-x 4 cloudera-scm cloudera-scm 4096 Apr 8 22:48 cloudera drwxr-xr-x. 3 hadoop hadoop 4096 Apr 8 11:20 softwares [hadoop@clouderamanager01 opt]$ cd cloudera/ [hadoop@clouderamanager01 cloudera]$ ll total 8 drwxr-xr-x 2 cloudera-scm cloudera-scm 4096 Mar 20 11:24 csd drwxr-xr-x 2 cloudera-scm cloudera-scm 4096 Mar 20 11:24 parcel-repo [hadoop@clouderamanager01 cloudera]$
關於/opt/cloudera/parcel-repo和/opt/cloudera/parcel(必須弄懂,別怕)
192.168.80.148 clouderamanager01 (部署ClouderaManager-server和Mirror server) (部署Agent) (分配1G,我這裏只是體驗過程,固然你能夠分配更多或更小)
192.168.80.149 clouderamanager02 (部署Agent) (分配1G,我這裏只是體驗過程,固然你能夠分配更多或更小)
192.168.80.150 clouderamanager03 (部署Agent)
部署ClouderaManager-server和Mirror server的機器,默認是存儲在/opt/cloudera/parcel-repo。
部署Agent的機器,默認是存儲在/opt/cloudera/parcel。
即,這也是爲何,我在下面這篇博客裏寫到。
博客裏,說起到的tar方式來安裝。
我這篇博文,是安裝單節點集羣,是在clouderamanager01上。由於,它是安裝了ClouderaManager-server和Mirror server的機器。
因此,默認是存在/opt/cloudera/parcel-repo。(由於,我是在這個作主節點的!,也是爲了後續的3節點集羣準備)
http://clouderamanager01:7180/cmf/home
[hadoop@clouderaManager01 yum.repos.d]$ sudo service cloudera-scm-server status cloudera-scm-server (pid 5533) is running... [hadoop@clouderaManager01 yum.repos.d]$ sudo service cloudera-scm-server restart Stopping cloudera-scm-server: [ OK ] Starting cloudera-scm-server: [ OK ] [hadoop@clouderaManager01 yum.repos.d]$
http://clouderamanager01:7180/cmf/login
選擇集羣中的主機,這裏選擇全部主機。
這步選擇CDH安裝包,進入這個頁面是,系統自動識別本地parcel包了。若是不識別,則能夠點擊上面更多選擇裏面到對應的目錄把正確的本地路徑地址和遠程url地址路徑填上便可。
注意:默認是最新的穩定版本!
http://archive.cloudera.com/cdh5/parcels/latest/
其實呢,在安裝過程當中,咱們能夠用默認的。可是,我這裏選擇用5.3.6。
http://archive.cloudera.com/cdh5/parcels/5.3.6/
同時,注意這兩個地方
Parcel 目錄,默認是/opt/cloudera/parcels(即clouderaManager0二、即clouderaManager03機器)
可是呢。不更改,也能夠正常安裝!
填入,就是這裏的值!
clouderaManager01/cm5/redhat/6/x86_64/cm/5.3.6/
其實啊,這一步的ssh,我以前已經配置過了,這裏仍是最好再自動配置吧!即勾選上。
在安裝過程當中,出現以下問題
[hadoop@clouderaManager01 html]$ pwd /var/www/html [hadoop@clouderaManager01 html]$ ll total 4 drwxr-xr-x 3 root root 4096 Apr 8 20:37 cm5 [hadoop@clouderaManager01 html]$ sudo mkdir -p cm5/redhat/6/x86_64/cm/5.3.6/repodata [hadoop@clouderaManager01 html]$ ll total 4 drwxr-xr-x 3 root root 4096 Apr 8 20:37 cm5 [hadoop@clouderaManager01 html]$ cd cm5/redhat/6/x86_64/cm/5.3.6/repodata/ [hadoop@clouderaManager01 repodata]$ pwd /var/www/html/cm5/redhat/6/x86_64/cm/5.3.6/repodata [hadoop@clouderaManager01 repodata]$ ll total 0 [hadoop@clouderaManager01 repodata]$
[hadoop@clouderaManager01 repodata]$ pwd /var/www/html/cm5/redhat/6/x86_64/cm/5.3.6/repodata [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ sudo rz [hadoop@clouderaManager01 repodata]$ ll total 124 -rw-r--r-- 1 root root 91122 Apr 7 22:36 filelists.xml.gz -rw-r--r-- 1 root root 198 Apr 7 22:36 filelists.xml.gz.asc -rw-r--r-- 1 root root 570 Apr 7 22:36 other.xml.gz -rw-r--r-- 1 root root 198 Apr 7 22:36 other.xml.gz.asc -rw-r--r-- 1 root root 4208 Apr 7 22:37 primary.xml.gz -rw-r--r-- 1 root root 198 Apr 7 22:37 primary.xml.gz.asc -rw-r--r-- 1 root root 951 Apr 7 22:37 repomd.xml -rw-r--r-- 1 root root 198 Apr 7 22:37 repomd.xml.asc [hadoop@clouderaManager01 repodata]$
集羣安裝
由於這裏所須要的軟件包咱們以前都已經安裝過了,這一步會很快結束。
若是仍是沒解決的話,那就換成在線的吧!(哎)
[cloudera-manager]
# Packages for Cloudera Manager, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera Manager baseurl=https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/ gpgkey =https://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera gpgcheck = 1
而後,接着下面
重複,執行上面的過程。這裏省略,.....
直至以下界面.....
安裝Parcel到全部主機上(我這裏是clouderaManager02這臺機器上)
由於Parcel文件已經提早下載好了,第一個進度條會直接顯示已下載,而後開始分配。這個過程實際上就是將Parcel內的軟件解壓縮安裝到各個主機上的過程。耐心等待,時間會比較長,我安裝1臺主機(即在clouderaManager02這臺,安裝單節點集羣)大概是須要5分鐘時間。(這裏看我的的網速和內存有關)
其實啊,這裏分配就是解壓。
安裝完畢後點繼續
主機檢查
檢查就能夠了,建議不要跳過。檢查結果以下:
這裏, 是必須得全部不能出現黃色警告!
安裝完成以後,再安裝所需的服務(其實,這一步,若你的內存和空間足夠,最好選擇全部服務)
其實啊,這步是選擇集羣中要安裝的CDH服務,爲了未來新增服務麻煩,咱們這裏選擇全部服務。其中有暫時用不到的服務,咱們能夠在界面中中止服務,這樣能夠節省內存資源
這裏,添加Cloudera Management Service服務
而後,關於安裝其餘的,如Zookeeper、Hive、HBase和Spakr、Hadoop等。這些。我就不贅述了。
或者,你能夠。CDH5提供了你可能須要的各類服務,須要什麼啓動什麼就好了。這裏我選擇了自定義,添HBase,HDFS,Hive,MapReduce,ZooKeeper,Spark等添加這裏你們按照本身的需求選。
換圖
角色分配
分配各個節點的角色
數據庫設置
我這裏,故意先是,選擇使用嵌入式數據庫,只是作個示範而已。點擊測試鏈接,成功後點繼續。
可是,如果實際生產環境中,最好仍是用自定義數據庫,我這裏只是玩玩而已。(記得截圖,以便爲了看密碼)
同時,注意,個人clouderaManager01僅僅只是安裝了CM而已,當前要到clouderaManager02上去。
因此,CDH默認內嵌了一個數據庫,沒法經過。我這裏選擇須要MySQL或者Oracle請選擇使用自定義數據庫,
好比Hive, oozie 元數據庫配置,使用咱們安裝的mysql來存放元數據,其中數據庫名,用戶名和密碼須要預先建立好的。這裏。請移步
須要以前就建立好,請移步
注意,這裏,gaiwei
mysql> GRANT ALL PRIVILEGES ON *.* to 'hive'@'
clouderaManager02
' IDENTIFIED BY 'hive_password' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* to 'oozie'@'clouderaManager02' IDENTIFIED BY 'oozie_password' WITH GRANT OPTION;
若是中間出錯誤了,則以下這樣,刪除就好
[hadoop@clouderaManager02 ~]$ sudo rpm -qa|grep mysql mysql-server-5.1.73-8.el6_8.x86_64 mysql-5.1.73-8.el6_8.x86_64 mysql-libs-5.1.73-8.el6_8.x86_64 [hadoop@clouderaManager02 ~]$ sudo rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64 error: package mysql-libs-5.1.71-1.el6.x86_64 is not installed [hadoop@clouderaManager02 ~]$ sudo rpm -e --nodeps mysql-server-5.1.73-8.el6_8.x86_64 warning: /var/log/mysqld.log saved as /var/log/mysqld.log.rpmsave [hadoop@clouderaManager02 ~]$ sudo rpm -e --nodeps mysql-5.1.73-8.el6_8.x86_64 [hadoop@clouderaManager02 ~]$ sudo rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64 [hadoop@clouderaManager02 ~]$ sudo rpm -qa|grep mysql [hadoop@clouderaManager02 ~]$
審覈更改
這裏所有默認就能夠了,直接繼續。
安裝完成,初始化
到這裏集羣已經安裝部署完成了,CDH會自動對你選擇的服務進行初始化設置,你也能夠稍後自行開啓。
初始化完成後,將進入主頁面
常見錯誤
[hadoop@clouderaManager01 parcel-repo]$ sudo service cloudera-scm-server restart ./cloudera-scm-server: line 109: pstree: command not found Starting cloudera-scm-server: [ OK ]
主要由於沒有安裝pstree包。
解決辦法:
[hadoop@clouderaManager01 parcel-repo]$ sudo yum install epel-release (安裝yum 源)
[hadoop@clouderaManager01 parcel-repo]$ sudo yum provides pstree (找到提供pstree命令的包)
[hadoop@clouderaManager01 parcel-repo]$ sudo yum install psmisc (安裝對應的包)
而後,
[hadoop@clouderaManager01 parcel-repo]$ sudo service cloudera-scm-server restart
Stopping cloudera-scm-server: [ OK ]
Starting cloudera-scm-server: [ OK ]
Detecting Cloudera Manager Server... Detecting Cloudera Manager Server... BEGIN host -t PTR 192.168.1.198 198.1.168.192.in-addr.arpa domain name pointer localhost. END (0) using localhost as scm server hostname BEGIN which python /usr/bin/python END (0) BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182 Traceback (most recent call last): File "<string>", line 1, in <module> File "<string>", line 1, in connect socket.error: [Errno 111] Connection refused END (1) could not contact scm server at localhost:7182, giving up waiting for rollback request
解決辦法:
在失敗的主機上,終端執行
sudo mv /usr/bin/host /usr/bin/host.bak
而後重試。
安裝過程一直卡在"正在獲取安裝鎖"狀態界面
解決辦法:
在卡住的主機上,刪除/tmp文件夾中的全部scm_prepare_node.開頭的文件,清空yum緩存,而後重啓主機。
sudo cd /tmp sudo rm -rf scm_prepare_node.* sudo yum clean all sudo reboot
安裝完畢後NameNode格式化失敗,報如下錯誤
IncorrectVersionException: Unexpected version of storage directory /data/dfs
解決辦法:
刪除NameNode節點的/data/dfs文件夾,從新添加主機。
如何更改節點ip
解決辦法:
從新設置每臺主機的hosts文件,完成後進入主機界面,點擊從新運行升級嚮導,再走一遍以前的流程便可。
參考連接
http://www.mamicode.com/info-detail-1596233.html
http://www.jianshu.com/p/57179e03795f
http://www.aboutyun.com/thread-20741-1-1.html
若您想搭建多節點集羣,請移步
同時,你們能夠關注個人我的博客:
http://www.cnblogs.com/zlslch/ 和 http://www.cnblogs.com/lchzls/ http://www.cnblogs.com/sunnyDream/
詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html
人生苦短,我願分享。本公衆號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和我的學習工做的精華乾貨知識,一切來於互聯網,反饋回互聯網。
目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及日常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在羣裏,天天必須有收穫
對應本平臺的討論和答疑QQ羣:大數據和人工智能躺過的坑(總羣)(161156071)
打開百度App,掃碼,精彩文章天天更新!歡迎關注個人百家號: 九月哥快訊