1、 系統環境準備html
1、網絡配置java
vi /etc/sysconfig/networknode
vi /etc/hostspython
在虛擬機配置網絡環境,內外網訪問,ping命令測試mysql
在虛擬機及本地電腦配置機器間地址便捷訪問linux
2、SSH免密鑰登陸(三臺虛擬機之間互相免祕鑰)sql
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsashell
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys數據庫
注:實際工做中,只須要把namenode到其它namenode之間,namenode到全部datanode之間配置免祕鑰便可json
3、防火牆關閉
service iptables stop
chkconfig iptables off
關閉防火牆及關閉防火牆開機啓動
4、SELINUX關閉
查看狀態:getenforce
臨時關閉:setenforce 0
永久關閉(改配置文件):vi /etc/selinux/config (SELINUX=disabled)
5、安裝JDK配置環境變量
路徑:/etc/profile
export JAVA_HOME=/usr/java/jdkXXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置後設置當即生效:source /etc/profile
注意:(1)、注意JDK與CDH的兼容關係,能夠在官網查看
(2)、全部服務器要安裝一個JDK版本,即一致性,保證後續服務不會出問題
6、安裝NTP
設置開機啓動chkconfig ntpd on
設置時間同步ntpdate -u ntp.sjtu.edu.cn
設置後檢查時間是否同步
7、安裝配置mysql(只需在server所在主機安裝)
yum install mysql-server
啓動mysql,設置開機啓動
service mysqld start
chkconfig mysqld on
進入mysql進行以下操做
mysql
show databases;(展現全部數據庫)
show tables;(展現全部表)
use mysql;(使用名字爲mysql的數據庫)
修改用戶權限(讓root用戶可使用密碼123在任何主機登陸,%表明任何主機,若有須要也能夠只寫一個IP地址)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
select host,user from user;
delete from user where host !='%';
刷新緩存
flush privileges
驗證登陸是否須要密碼:mysql –u root –p
修改權限 權限必定要生效,最後效果就是mysql 登錄會提示你 權限問題
注意使用CDH版本與JDK版本之間的對應關係
8、下載第三方依賴包(全部主機)
chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、
cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
執行安裝命令:
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
2、 CM安裝(cloudera manager)
1、安裝Cloudera Manager Server、Agent(全部主機)
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2、建立用戶cloudera-scm(是cloudera manager的一個管理用戶)(全部主機)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
在passwd目錄下檢查是否添加成功
3、配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host以及server_port
所有修改成server所在服務器的主機名
端口爲它們之間通訊端口,通常選擇默認
注:配置每一臺Agent訪問的主機,經過該配置找到server
4、配置CM Server數據庫(server主機鏈接數據庫啓動時會建立相關配置信息等)
拷貝mysql 的驅動jar包文件到目錄/usr/share/java/
注意jar包名稱要修改成mysql-connector-java.jar
建立臨時數據temp(下面一行爲在mysal數據庫執行,能夠在mysql客戶端鏈接工具中執行該sql語句)
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm
格式:數據庫類型(mysql)、數據庫(temp)、數據庫服務器(-h後面接數據庫服務器node1)、用戶名(-u後面接數據庫用戶名)、密碼(-p後面接數據庫用戶名)、cm server服務器(指定server服務器node1)(最後三個scm爲固定寫法)
這裏對本身主機執行:./scm_prepare_database.sh mysql temp -h node1 -uroot -p123 --scm-host node1 scm scm scm
執行成功
刷新數據庫出現temp數據庫
注:當某些組件須要安裝數據庫的時候,會到/usr/share/java/目錄下拷貝jar包到對應的服務下面
5、建立Parcel目錄
Server節點(只需在server端建立)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent節點(須要在全部agent端建立)
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
說明:把CDH安裝文件放在server所在主機的parcel-repo目錄下,server會將每個安裝包分發到Agent的parcels目錄下
/opt/cloudera/parcel-repo咱們的server存放本地源目錄
6、製做CDH本地源(只需配置server主機)
下載好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,將這兩個文件放到server節點的/opt/cloudera/parcel-repo下。
打開manifest.json文件,裏面是json格式的配置,找到與下載版本相對應的hash碼(根據下載版本號去找),新建文件,文件名與你的parel包名一致,並加上.sha後綴,將hash碼複製到文件中保存。
將三個文件放到/opt/cloudera/parcel-repo下
7、啓動CM Server、Agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start
Sever首次啓動會自動建立表以及數據,不要當即關閉或重啓,不然須要刪除全部表及數據從新安裝
./cloudera-scm-agent start(agent須要啓動全部服務器的)
下圖日誌表示server啓動成功
注:(1)、啓動以前作快照,避免出現問題難以處理
(2)、查看server啓動日誌,注意執行server啓動命令後會提示ok,但實際上還沒完成,日誌還在刷新,必定要看日誌確認執行完成,不然就須要刪除全部重裝,很是麻煩
3、 瀏覽器訪問
node1:7180
默認用戶名密碼爲admin
三臺主機都已啓動
注:若是沒有出來三臺主機
(1)、檢測配置agent時候的配置文件server_host
(2)、檢查agent狀態,看是否有異常
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d
./cloudera-scm-server status
1、 選擇CDH鏡像版本
2、 注意下面若是下載的特別慢要注意兩個事情
一、 前一步選擇CDH包選擇錯了,選擇了一個外網的包,這樣的話會從cloudera公司進行下載,此時只能將server中止,從新配置
二、 本地源配置有問題,致使下載失敗,或找不到文件等
解壓時可能會報字符集問題,這時要檢查本身的linux字符集設置,而後改爲英文
3、 主機檢測
按照提示修改配置文件,從新檢測後再也不提示
echo 0 > /proc/sys/vm/swappiness
注意這個只是臨時修改,所以若要永久修改須要按照後面的要求設置。
檢測過程當中可能報以下錯誤緣由:
咱們安裝的時候是經過tar包進行安裝的,而檢測的時候會默認去檢測經過rpm包安裝的,因此會顯示不適用。
JDK安裝,CDH會使用一些本身的JDK,而咱們是在官網下載安裝的,因此會報這個錯
4、 集羣設置
選擇自定義,選擇本身須要安裝的服務
5、 分配主機
Datanode分配三臺
注:出現下面的緣由是咱們第一次安裝沒有配置高可用,須要手動配置高可用,所以會默認出現snn
配置zookeeper集羣,默認爲一臺,咱們配置三臺
6、 檢查配置,點擊繼續
7、 數據庫設置(第一次建集羣須要設置)
8、 配置郵件服務器(通常在公司須要配置,這裏咱們選擇默認)
9、 配置並啓動服務
點擊詳細信息查看啓動狀態
若是這裏出問題多是依賴包的問題,這時恢復下快照檢查準備階段工做。
10、 成功界面
這裏顯示錯誤是由於全部服務都沒啓動
11、 注意問題
Server徹底能夠支持幾百臺的集羣的管理,所以不須要配置高可用
原生升級問題,停掉一部分,升級一部分
原生升級須要先將原有的卸載,而後安裝新的版本
若有轉載請標明轉載地址http://www.cnblogs.com/baierfa/p/6688943.html 碼農拜耳法致謝!