1. 程式人生 > >Cloudera Manager 5和CDH5離線安裝,CDH-5.7.1

Cloudera Manager 5和CDH5離線安裝,CDH-5.7.1

進行了大範圍修改和完善

  • 檔案下載

CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。 
Cloudera Manager則是為了便於在叢集中進行Hadoop等大資料處理相關的服務安裝和監控管理的元件,對叢集中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。 
相關包的下載地址: 
Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/

 

算上jdbc一共是5個檔案

強烈建議:有條件的話,以下所有操作都在root下完成,不要問我為什麼知道的。

否側,出現錯誤,10個有9個都是目錄許可權問題,根據log查錯即可。

  • 準備工作:系統環境搭建

如果使用虛擬機器安裝的話,每個節點至少保證硬碟空間20G,推薦30G以上。

記憶體,master至少6G,推薦8G以上,slave至少4G

以下操作均需要(root)管理員許可權 
1.網路配置(所有節點) 
修改主機名:vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=node1
GATEWAY=192.168.3.253

修改ip與主機名的對應關係:vim /etc/hosts

192.168.3.201   node1
192.168.3.202   node2
192.168.3.203   node3
192.168.3.204   node4

修改網路配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO=none
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="038b2dab-5902-46d7-9d4c-2c0fb42599b9"
HWADDR=00:0C:29:50:84:9A
IPADDR=192.168.3.201
PREFIX=24
GATEWAY=192.168.3.253
DNS1=192.168.1.242
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="System eth0"
LAST_CONNECT=1468601480


2.打通SSH,設定ssh無密碼登陸(所有節點) 

執行ssh-keygen -t rsa,一路回車,生成無密碼的金鑰對。 
將公鑰新增到認證檔案中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,並設定authorized_keys的訪問許可權:chmod 600 ~/.ssh/authorized_keys。 
通過scp命令將各節點的認證檔案拷貝到所有其他節點使得各節點能夠相互訪問。

 
3.安裝Oracle的Java(所有節點) 
CentOS自帶OpenJdk,不過執行CDH5需要使用Oracle的JDK,需要Java 7的支援。 
解除安裝自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用rpm -e --nodeps 包名解除安裝之。 
去Oracle的官網下載jdk的rpm安裝包,並使用rpm -ivh 包名安裝,最後配置環境變數。 

在 etc/profile中,

vi /etc/profile

新增如下(使用rpm安裝的java在/usr/java/jdk1.8XXXX):

export JAVA_HOME=/usr/java/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


然後使環境變數生效:

source /etc/profile


4.安裝配置MySql(主節點) 

# mysql          客戶端程式

# mysql-server    服務端程式

# mysql-devel    開發設計的庫

[[email protected] ~]# yum -y install mysql mysql-server mysql-devel

# 開機啟動

[[email protected] ~]# chkconfig mysqld on

# 啟動mysqld服務

[[email protected] ~]# service mysqld start

# 進行一些安全性配置

[[email protected] ~]# /usr/bin/mysql_secure_installation

注意:這裡遠端連線mysql可能會出現許可權報錯,需要修改user表,具體方法請自行搜尋

mysql -u root -p

xxxxxx

進入mysql命令列,建立以下資料庫:

#hive

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;、

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity oozie 如果需要的話

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


設定root授權訪問以上所有的資料庫:

#授權root使用者在主節點擁有所有資料庫的訪問許可權

grant all privileges on *.* to 'root'@'node1' identified by 'xxxx' with grant option;

flush privileges;


5.關閉防火牆和SELinux 

注意: 需要在所有的節點上執行,因為涉及到的埠太多了,臨時關閉防火牆是為了安裝起來更方便,安裝完畢後可以根據需要設定防火牆策略,保證叢集安全。 
關閉防火牆:

service iptables stop (臨時關閉)  

chkconfig iptables off (重啟後生效)


關閉SELINUX(實際安裝過程中發現沒有關閉也是可以的,不知道會不會有問題,還需進一步進行驗證):

set enforce 0 (臨時生效)  

修改 vi /etc/selinux/config 下的 

SELINUX=disabled (重啟後永久生效)

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

6.所有節點配置NTP服務 (這一步暫時可以跳過,但是在叢集啟動以後,會提示時間不同步)

叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下: 
master節點作為ntp伺服器與外界對時中心同步時間,隨後對所有datanode節點提供時間同步服務。 
所有datanode節點以master節點為基礎同步時間。 
所有節點安裝相關元件:yum install ntp

啟動 ntp:

$ service ntpd start

設定開機啟動:

$ chkconfig ntpd on

檢查是否設定成功:chkconfig --list ntpd其中2-5為on狀態就代表成功。 

可以通過以下命令先進行時間同步:

ntpdate us.pool.ntp.org
主節點配置(master節點)

vi /etc/ntp.conf 
ntp服務只有一個配置檔案,配置好了就OK。 這裡只給出有用的配置,不需要的配置都用#注掉,這裡就不在給出(大部分把#去掉即可,不需要新增):

driftfile /var/lib/ntp/drift
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1
# Hosts on local network are less restricted.
restrict 192.168.3.0 mask 255.255.255.0 nomodify notrap
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

配置檔案完成,儲存退出,啟動服務,執行如下命令:service ntpd start 

檢查是否成功,用ntpstat命令檢視同步狀態,出現以下狀態代表啟動成功:

synchronisedto NTP server () at stratum 2time correct towithin74 mspolling server every 128 s

如果出現異常請等待幾分鐘,一般等待5-10分鐘才能同步。 

在其他節點,直接執行

ntpdate -u node1 

(主節點ntp伺服器) 即可,和node1同步

這裡可能出現同步失敗的情況,請不要著急,一般是本地的ntp伺服器還沒有正常啟動,一般需要等待5-10分鐘才可以正常同步。啟動服務:service ntpd start 
因為是連線內網,這次啟動等待的時間會比master節點快一些,但是也需要耐心等待一會兒。

  • 開始安裝Cloudera Manager

安裝Cloudera Manager Server 和Agent 
主節點解壓安裝 
cloudera manager的目錄預設位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓後的cm-5.7.1和cloudera目錄放到/opt目錄下。 
為Cloudera Manager 5建立資料庫 
首先需要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓後,找到mysql-connector-java-5.1.35-bin.jar,放到/opt/cm-5.7.1/share/cmf/lib/中。 
在主節點初始化CM5的資料庫:

/opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode1 -uroot -p123123 --scm-host node1 scm scm scm


在這裡後面的引數分別是:資料庫型別 資料庫名稱 資料庫主機名 資料庫使用者名稱 密碼 --scm-host cmserver主機名 scm scm scm

Agent配置 

修改/opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。 
同步Agent到其他所有節點:

scp -r /opt/cm-5.7.1 [email protected]:/opt/

在所有節點建立cloudera-scm使用者

useradd --system --home=/opt/cm-5.7.1/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.7.1-1.cdh5.7.1.p0.5-el6.parcel

CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha1

manifest.json

最後將CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha1,重新命名為CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha

這點必須注意,否則,系統會重新下載CDH-5.7.1-1.cdh5.7.1.p0.5-el6.parcel.sha1檔案。 

相關啟動指令碼 
通過/opt/cm-5.7.1/etc/init.d/cloudera-scm-server start啟動服務端。 
通過/opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start啟動Agent服務。 (所有節點都要啟動Agent服務,包括服務端)
我們啟動的其實是個service指令碼,需要停止服務將以上的start引數改為stop就可以了,重啟是restart。

安裝到此處,可以考慮備份節點,為將來的節點拓展做準備。 

  • CDH5的安裝配和叢集配置
Cloudera Manager Server和Agent都啟動以後,就可以進行CDH5的安裝配置了。 
這時可以通過瀏覽器訪問主節點的7180埠測試一下了(由於CM Server的啟動需要花點時間,這裡可能要等待一會才能訪問成果,可能需要3-5分鐘),預設的使用者名稱和密碼均為admin

這裡寫圖片描述 
這裡寫圖片描述 
這裡寫圖片描述

各個Agent節點正常啟動後,可以在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。


接下來,出現以下包名,說明本地Parcel包配置無誤,直接點繼續就可以了。


如果此處發現不到parcel包,就重啟所有節點的agent服務,和master的server服務。


點選,繼續,如果配置本地Parcel包無誤,那麼下圖中的已下載,應該是瞬間就完成了,然後就是耐心等待分配過程就行了,這個過程的速度就取決於節點之間的傳輸速度。


當前受管

假如在安裝的時候出現問題,如網路連線中斷,機器宕機,繼續安裝的時候可能會出現查詢不到機器,並且根據ip搜尋機器的時候,出現“當前受管”

的狀態為“是”,安裝失敗的機器不能再選擇了。


先停止所有服務。清除資料庫。

1> 刪除Agent節點的UUID 

      # rm -rf /opt/cm-5.7.1/lib/cloudera-scm-agent/*

2>  清空主節點CM資料庫

      進入主節點的Mysql資料庫,然後drop database cm;

3> 在主節點上重新初始化CM資料庫

     # /opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm


等待一下,連線訪問master:7180即可

所有節點部署完成


接下來是主機檢查,可能會遇到以下問題: 


Cloudera 建議將 /proc/sys/vm/swappiness 設定為 0。當前設定為 60。使用 sysctl 命令在執行時更改該設定並編輯 /etc/sysctl.conf 以在重啟後儲存該設定。您可以繼續進行安裝,但可能會遇到問題,Cloudera Manager 報告您的主機由於交換執行狀況不佳。以下主機受到影響: 
通過echo 10 > /proc/sys/vm/swappiness即可解決。(注意切換到root)

這裡寫圖片描述

接下來是選擇安裝服務:

這裡寫圖片描述

服務配置,一般情況下保持預設就可以了(Cloudera Manager會根據機器的配置自動進行配置,如果需要特殊調整,自行進行設定就可以了):

這裡寫圖片描述

接下來是資料庫的設定,檢查通過後就可以進行下一步的操作了:


此處可能需要新建oozie的資料庫

下面是叢集設定的審查頁面,全部保持預設配置即可:

這裡寫圖片描述

這裡地方可以考慮修改hdfs的儲存資料夾,另外如果需要自己設定資料夾,一定要先mkdir資料夾,否側hdfs會無法啟動,並且報錯資料夾不存在,並確保訪問許可權

終於到安裝各個服務的地方了,注意,這裡安裝Hive,或oozie的時候可能會報錯,因為我們使用了MySql作為hive的元資料儲存,hive預設沒有帶mysql的驅動,通過以下命令拷貝一個就行了:

cp /opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/hive/lib/

cp /opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/oozie/lib/

cp /opt/cm-5.7.1/share/cmf/lib/mysql-connector-java-*-bin.jar /var/lib/oozie/




接下靜靜地等待即可。

這裡寫圖片描述

安裝完成後,就可以進入叢集介面看一下叢集的當前狀況了。 
這裡可能會出現無法發出查詢:對 Service Monitor 的請求超時的錯誤提示,如果各個元件安裝沒有問題,一般是因為伺服器比較卡導致的,過一會重新整理一下頁面就好了,根據實際情況調整配置即可:


另外如果想新增新的主機,必須要先啟動新主機上的agent服務,否則新主機不能被發現,要重新下載cm-agent,很麻煩。安裝新的節點以後,記得執行"部署客戶端"命令。

Q&A:

1.在我部署完成以後,會出現大量問題,其中有大量警告,是由於var/log/*的許可權問題造成的。

在master上,執行chmod -R 777對應的資料夾修改許可權即可。

2.出現oozie和hive不能成功啟動

一般是因為缺少jdbc,複製到相應位置即可,參照原文。或者是由於mysql資料庫中的表造成的,可能是表已經存在了。

3.service monitor和host monitor都無法啟動

一般也是由於var/log/*的許可權問題造成的。

4.service monitor和host monitor正常啟動,但是無法獲取到圖表資料

登出admin重新進入,或者等一下

5.hdfs不能正常啟動

可能是因為/dfs的許可權原因,提高/目錄的許可權

6.hdfs和yarn的埠不再是9000和10020,預設的是8020和8021

7.如果使用Windows遠端除錯,請保證host檔案(C:/Windows/System32/drivers/hosts)和叢集上的host檔案內容一致。

8.主機崩潰怎麼辦。一般來說崩潰了,直接重啟就好。不過一定記得要再次啟動cm的agent和server服務

調整相關閾值後,基本正常執行。


相關推薦

Cloudera Manager 5CDH5離線安裝,CDH-5.7.1

進行了大範圍修改和完善 檔案下載 CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補

Cloudera Manager 5CDH5離線安裝

CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。 Clou

CentOS 7離線安裝CDH 5.16.1完全指南(含各種錯誤處理)

二進制安裝 分鐘 mon 火墻 下一步 emc bsp 自動安裝 名稱 安裝包下載 1、CM軟件包下載 從http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.16.1/RPMS/x86_64/下載rpm包,如下:

離線安裝Cloudera Manager 5CDH5(最新版5.1.3) 完全教程

關於CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。 Cloude

CENTOS 7.5離線安裝Cloudera Manager 5CDH5(5.15.0) 完全教程

特別宣告:LZ按照教程完整的走了一遍,最終所有元件都是正常的,中間遇到很多坑,做了一些修改,本文最後會將遇到的一些坑總結到一片新文章中 windows虛擬機器安裝CDH cpu 16G記憶體 預設單核單線 DEV2 Server&&a

Cloudera Manager 5 CDH5.7.0 本地(離線安裝

轉載:http://blog.csdn.net/eason_oracle/article/details/51818423 最近在搞cloudera manager的安裝,經歷了許多坎坷,總結一下: 另外也參考了一些其他人的帖子如: http://blog.csdn

離線安裝Cloudera Manager 5CDH5及與遇到的問題總結

     今天介紹一下:在linux系統下,如何通過CDH搭建叢集. 1.1Cloudera Manager簡介 Cloudera Manager是一個擁有叢集自動化安裝、中心化管理、叢集監控、報警功能的一個工具(軟體),使得安裝叢集從幾天的時間縮短在幾個小時內,

Cloudera Manager 5.15.2離線安裝筆記(一)

nts post rmi operator supported 出現 nbsp devel 技術 工欲善其事必先利其器,想要學好一門技術首先得有趁手的工具,要想學好大數據技術,還是得有比較好的工具才行。本筆記記錄的是安裝Cloudera Manager的過程。 CDH的全稱

Windows10離線安裝Anaconda3-5.0.1-Windows-x86_64.exetensorflow-1.5.0-cp36-cp36m-win_amd64.whl

Windows10離線安裝Anaconda3-5.0.1-Windows-x86_64.exe(對應python3.6)和tensorflow-1.5.0-cp36-cp36m-win_amd64.whl(對應CPU版本的tensorflow,36代表著對應python3.6)(以下均在cmd命令列

Eclipse中SVN插件的安裝配置(離線安裝)

分享 安裝目錄 plugin 插件 inf tro img 密碼 問題 Eclipse利用svn的離線安裝包進行配置svn,這種方式配置起來很簡單,但是前提是必須下載可用的的svn離線包。因為有的從網上下載的svn離線包有問題。 第一步:下載svn離線包 我下

Linux離線安裝mysql 5.6詳細步驟

詳細步驟 export 軟件 zxvf 安裝數據庫 pass 系統啟動 nbsp 復制 一、安裝MySQL 1、下載安裝包 mysql-5.6.40-linux-glibc2.12-x86_64.tar.gz 2、卸載系統自帶的Mariadb rpm -qa|grep

離線安裝CDH初始化資料庫的問題

當執行初始化資料庫指令碼語句:cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm 之

centos7.5離線安裝mysql5.5.61.tar.gz

1、解除安裝舊mysql [[email protected] soft]# find / -name mysql [[email protected] soft]# find / -name mysql|xargs rm -rf 2、解除安裝系統自帶

node.jsnpm離線安裝

離線安裝node.js和npm 1.下載官方安裝包並拷貝到離線機器上。 官方下載地址:https://nodejs.org/en/download/ 2.解壓檔案: tar-xJf node-v8.9.4-linux-x64.tar.xz 2.放到相應目錄例如/opt/

CentOS7 離線安裝mysql-5.7.16

1 . 安裝新版mysql前,需將系統自帶的mariadb-lib解除安裝 [root@slave mytmp]# rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x86_64 [root@sla

CDH5 離線安裝 記錄

Cloudera Manager下載地址: http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.4.3_x86_64.tar.gz , CDH安裝包地址: http://archive.cloudera

大資料Hadoop測試環境搭建(CM、CDH5離線安裝)

伺服器可用虛擬機器,記憶體8G,硬碟50G至少3臺伺服器,namenode1臺,datanode2臺主伺服器裝好cm後,scp到另2臺伺服器手動啟動cloudera-scm-server和cloudera-scm-agent,service容易出各種問題有服務要用到apache到httpd,需要安裝副本不足問

win8離線安裝Net3.5

掛載系統映象到 X盤 管理員身份開啟“命令提示符” 輸入: dism.exe /online /enable-feature /featurename:NetFX3 /Source:X:\sources\sxs

Centos6離線安裝MySQL5.5.55-1(附帶安裝包及Perl依賴包)

資源包所帶有的資源截圖 1.上傳MySQL-client-5.5.55-1.linux2.6.x86_64.rpm、MySQL-server-5.5.55-1.linux2.6.x86_64.rpm到Linux上 2.使用rpm命令安裝MySQL-server-5.5.55-1.linux2.6.x86_

CentOS 7.3 官網離線安裝mysql 5.5

安裝環境 - CentOs 7.3 安裝包下載 執行命令 1.下載檔案並上傳 2.進入上傳檔案根目錄 yum localinstall mysql57-community-release-el7-8.noarch.rpm 3