1. 程式人生 > >cdh--ClouderaManager安裝手冊

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

重新命名為CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.1.3-1.cdh5.1.3.p0.12-el6.parcel檔案

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';