cdh--ClouderaManager安裝手冊
一、說明
作業系統:CentOS 6.5
JDK版本:1.7.0_67
所需安裝包及版本說明:
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
manifest.json
cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
Cloudera Manager下載目錄
CDH下載目錄
CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中
CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha1
1、網路配置(所有節點)
vi /etc/sysconfig/network 修改hostname:
vi /etc/hosts ,修改ip與主機名的對應關係
2、SSH免密碼登入
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa --建立公鑰
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys --公鑰追加到認證檔案
3、關閉防火牆
臨時關閉:
service iptables stop
重啟後生效:
chkconfig iptables off
4、關閉SELINUX
臨時關閉:
setenforce 0
修改配置檔案/etc/selinux/config(重啟生效):
將SELINUX=enforcing改為SELINUX=disabled
檢視SELINUX狀態:
1、/usr/sbin/sestatus –v
SELinux status: enabled(enabled:開啟;disabled:關閉)
2、使用命令:getenforce
5、安裝JDK
rpm -ivh jdk-7u67-linux-x64.rpm
配置環境變數,修改/etc/profile:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOMdE/lib/dt.jar:$JAVA_HOME/lib/tools.jar
生效:
source /etc/profile
檢視版本: java -version
設定NTP
所有節點安裝NTP:
yum install ntp
配置開機啟動:
chkconfig ntpd on
檢查是否設定成功:
chkconfig --list ntpd (2-5為on狀態則成功)
設定同步:
ntpdate -u ntp.sjtu.edu.cn(時鐘伺服器根據實際環境設定、本文采用210.72.145.44-國家授時中心伺服器IP地址)
7、安裝配置MySql
yum install mysql-server
安裝完成後
修改mysql許可權:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
flush privileges;
8、下載依賴包
yum install -y
- chkconfig
- python (2.6 required for CDH 5)
- bind-utils
- psmisc
- libxslt
- zlib
- sqlite
- cyrus-sasl-plain
- cyrus-sasl-gssapi
- fuse
- portmap
- fuse-libs
- redhat-lsb
1、安裝Cloudera Manager Server、Agent
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz -C /opt/cloudera-manager/
解壓完後進入目錄
軟體體的目錄
修改配置檔案 配置CM Agent
vi /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/ config.ini
修改配置檔案的 配置檔案的 server_host=本節點名稱
2、建立使用者cloudera-scm【資源 使用者 和許可權】每臺節點都要建立
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
詳解:system 系統管理 no-create-home 沒有家目錄 --shell=/bin/false 禁止使用者登陸 也就是程序使用者
3、建立Parcel目錄
Server節點
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent節點
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
4、配置CM Server資料庫
拷貝mysql jar檔案到目錄 /usr/share/java/
注意jar包名稱要修改為mysql-connector-java.jar
製作CDH本地源
下載好檔案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碼複製到檔案中儲存。
mv /root/{CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel,CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha,manifest.json} ./
分發 /opt/cloudera-manager 目錄裡面的到其他節點
scp -r ./* node02:`pwd`
scp -r ./* node03:`pwd`
將驅動包拷貝到目錄下(注意拷貝過去的驅動包名字一定要和下邊的一樣,否則會報錯):
cp mysql-connector-java-5.1.31/mysql-connector-java-5.1.31-bin.jar /usr/share/java/mysql-connector-java.jar
執行:
mysql> 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 -h myhost1.sf.cloudera.com -utemp -ptemp --scm-host myhost2.sf.cloudera.com scm scm scm
例如:
./scm_prepare_database.sh mysql -h node1 -utemp -ptemp --scm-host node1 scm scm scm
(對應於:資料庫型別、資料庫伺服器、使用者名稱、密碼、CMServer所在節點…….)
mysql> drop user 'temp'@'%';
若上步失敗或過程中操作中斷,刪除所有庫、重頭來過/(ㄒoㄒ)/~~
若安裝Oozie等元件可能需要手動建立對應元件所需的資料庫,例如:
create database ooziecm DEFAULT CHARACTER SET utf8;
grant all on ooziecm.* TO 'ooziecm'@'%' IDENTIFIED BY 'ooziecm';
配置最後一步驟:
啟動CM Server、Agent【非同步】
/opt/cloudera-manager/cm-5.4.3/etc/init.d
執行命令
./cloudera-scm-server start
Sever首次啟動會自動建立表以及資料,不要立即關閉或重啟,否則需要刪除所有表及資料重新安裝
./cloudera-scm-agent start
啟動完成後
登陸的使用者與密碼都是admin
免費版本的CM5已經去除50個節點數量的限制。
各個Agent節點正常啟動後,可以在當前管理的主機列表中看到對應的節點。
選擇要安裝的節點,點繼續。
也可以使用搜索功能 給定主機名前提是要有規律
接下來,出現以下包名,說明本地Parcel包配置無誤,直接點繼續就可以了。
點選,繼續,如果配置本地Parcel包無誤,那麼下圖中的已下載,應該是瞬間就完成了,然後就是耐心等待分配過程就行了,大約10多分鐘吧,取決於內網網速。
接下來是伺服器檢查,可能會遇到以下問題:
Cloudera 建議將 /proc/sys/vm/swappiness 設定為 0。當前設定為 60。使用 sysctl 命令在執行時更改該設定並編輯 /etc/sysctl.conf 以在重啟後儲存該設定。您可以繼續進行安裝,但可能會遇到問題,Cloudera Manager 報告您的主機由於交換執行狀況不佳。以下主機受到影響:
通過 echo 0 > /proc/sys/vm/swappiness 即可解決。
接下來是選擇安裝服務:
測試採用了Hadoop預設,實際按工作環境來定咯~~
服務配置,一般情況下保持預設就可以了(Cloudera Manager會根據機器的配置自動進行配置,如果需要特殊調整,自行進行設定就可以了):
角色分發的一個指向 規劃角色再哪個節點啟動
對某一個角色具體的配置
叢集裡面新增服務
Hive需要關係型資料庫
建立資料庫 使用者 許可權賦值
使用者名稱hive 密碼也是hive
建庫指令碼 hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
安裝完成後,就可以進入叢集介面看一下叢集的當前狀況了。
這裡可能會出現無法發出查詢:對 Service Monitor 的請求超時的錯誤提示,如果各個元件安裝沒有問題,一般是因為伺服器比較卡導致的,過一會重新整理一下頁面就好了:
五、指令碼
1、MySql建庫&&刪庫
##amon
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';