hadoop記錄篇8-cdh5離線安裝

一 。CDH簡介html

     CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop衆多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了不少補丁,可直接用於生產環境。
    Cloudera Manager則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理作了極大簡化
java

  具體 關於Cloudera Manager(簡稱:cm)的用法 參考 (https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Introduction/cm5i_primer.html)node

》》相關術語mysql

如下圖示表示相關術語的關係 具體描述參考:

linux

  •     deployment :- Cloudera管理器和它管理的全部集羣的配置。
  •     cluster : 一個邏輯實體,包含一組主機、一個安裝在主機上的CDH版本以及在主機上運行的服務和角色實例。主機只能屬於一個集羣。
  •     host : 運行角色實例的物理或虛擬機。
  •     rack : 包含一組物理主機的物理實體,一般由同一個交換機提供服務。
  •     service : cdh中的一類功能,有時被稱爲服務類型。例如:MapReduce、HDFS、yarn。記住這一基本原則也頗有幫助:而         在傳統環境中,一個主機、cdh和其餘分佈式系統上運行多個服務,一個服務在許多主機上運行。.
  •     service instance :在集羣上運行的服務實例。服務實例跨越多個角色實例。例如: "H" and "yarn".
  •     role : 服務中的一類功能。例如,HDFS服務具備如下角色:: NameNode, SecondaryNameNode, DataNode, and                 Balancer.有時被稱爲角色類型.
  •     role instance : 在主機上運行的角色的實例。它一般映射到UNIX進程。例如: "NameNode-h1" and "DataNode-h1".
  •     role group : 一組角色實例的一組配置屬性.
  •     host template : 一組角色組。當模板應用於主機時,將建立每一個角色組的角色實例並將其分配給該主機.
  •     gateway : 當該主機沒有運行該服務的任何角色實例時,該主機將接收該服務的客戶端配置。.
  •     parcel : 包含編譯代碼和元信息(如包描述、版本和依賴項)的二進制分發格式.

》》CDH組件web

    CDH管理着跨組件版本,並提供一個穩定的平臺供許多包一塊兒運行:
       HDFS—自我修復的分佈式文件系統
       MapReduce—強大的並行數據處理框架
       Hadoop Common—一組支持Hadoop子項目的工具
       HBase—支持隨機讀/寫訪問的Hadoop數據庫
       Hive—在大數據集合上的類SQL查詢和表
       Pig—數據流語言和編譯器
       Oozie—針對互相依賴的Hadoop做業的工做流
       Sqoop—利用集成到Hadoop的數據庫和數據倉庫
       Flume—高可靠、可配置的數據流集合
       Zookeeper—面向分佈式應用的協調服務
       Hue—可視化Hadoop應用的用戶接口框架和SDKsql

》》Cloudera Manager架構
shell

  Cloudera管理器的核心是Cloudera管理器服務器。服務器承載管理控制檯Web服務器和應用程序邏輯。它負責安裝軟件、配置、啓動和中止服務,以及管理運行服務的集羣。
數據庫


Cloudera管理器服務器與其餘幾個組件一塊兒工做:
json

  • Agent:安裝在每臺主機上。它負責啓動和中止進程,解壓縮配置,觸發安裝和監控主機
  • Management Service:執行各類監控、報警和報告功能的一組角色的服務。
  • Database:存儲配置和監控信息
  • Cloudera Repository:可供Cloudera Manager分配的軟件的存儲庫(repo庫)
  • Client:用於與服務器進行交互的接口: 
  1. Admin Console:管理員控制檯
  2. API:開發人員使用 API能夠建立自定義的Cloudera Manager應用程序
 

二 。CDH安裝

  Cloudera管理器能夠幫助咱們安裝內嵌的hadoop套件  須要有個一個管理服務器 和若干個agent代理服務器  多個代理服務器能夠位於同一個rack(host分組)中



》》系統環境準備

192.168.58.133 cdh1    cmserver  mysql-server
192.168.58.144 cdh2    cmagent
192.168.58.145 cdh3    cmagent
192.168.58.132 chd4    cmagent
系統使用 centos7 (cat /etc/centos-release)
同步時間 三臺機器執行
[root@cdh1 ~]# ln -sf  /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime
[root@cdh1 ~]# ntpdate time1.aliyun.com
關閉防火牆
[root@bogon ~]# systemctl disable firewalld
[root@bogon ~]# iptables --flush
修改主機名
192.168.58.133 執行 hostnamectl set-hostname cdh1
192.168.58.144 執行 hostnamectl set-hostname cdh2
192.168.58.145 執行 hostnamectl set-hostname cdh3
192.168.58.132 執行 hostnamectl set-hostname cdh4

logout從新登陸
分別查看是否修改爲功
[root@cdh3 ~]# more /etc/hostname
cdh3
修改133 etc/hosts  追加內容
192.168.58.133 cdh1
192.168.58.144 cdh2
192.168.58.145 cdh3
192.168.58.132 cdh4
發送到其餘機器
scp /etc/hosts root@192.168.58.144:/etc/
scp /etc/hosts root@192.168.58.145:/etc/
scp /etc/hosts root@192.168.58.132:/etc/
cm安裝要求server服務器能免密登陸其餘agent  133上生成密鑰對:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh localhost 測試不須要輸入密碼
公鑰拷貝到144 145添加到認證文件
scp ~/.ssh/id_rsa.pub root@cdh2:~/.ssh/
scp ~/.ssh/id_rsa.pub root@cdh3:~/.ssh/
scp ~/.ssh/id_rsa.pub root@cdh4:~/.ssh/
兩臺機器執行 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@cdh1 ~]# ssh cdh2
Last login: Fri Apr 20 09:50:00 2018 from 192.168.58.1
[root@cdh2 ~]# exit
logout
Connection to cdh2 closed.
[root@cdh1 ~]# ssh cdh3
Last login: Thu Apr 19 18:50:19 2018 from 192.168.58.1
[root@cdh3 ~]# exit
logout
Connection to cdh3 closed.
免密登陸成功登陸cdh2和cdh3
》》離線下載依賴工具準備(yum安裝的mysql就沒有列出)

  1.     cm5.5.6  (http://archive.cloudera.com/cm5/cm/5/  下載cloudera-manager-centos7-cm5.5.6_x86_64.tar.gz)
  2.    cdh parcel離線包 (http://archive.cloudera.com/cdh5/parcels/5.5.6/ 下載和cm相同版本的cdh鏡像 其中el7表示centos7版本)   須要下載下面三個文件   
    CDH-5.5.6-1.cdh5.5.6.p0.2-el7.parcel
    CDH-5.5.6-1.cdh5.5.6.p0.2-el7.parcel.sha1
    manifest.json
  3.    jdk1.7 (官網描述cdh5版本支持jdk1.7)
    下載地址:(http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)

》》安裝過程(過程參考https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Installation-Guide/cm5ig_install_path_C.html)

  1 》安裝jdk
     上傳到linux後安裝

rpm -ivh jdk-7u79-linux-x64.rpm

  2》安裝mysql服務器

       Cloudera管理器使用數據庫存儲有關Cloudera管理器配置(loudera Manager Server, Cloudera Management Service, 和 Hive的元數據)的信息,以及系統或任務進度等信息。爲了方便快速完成簡單安裝,Cloudera管理器能夠安裝和配置嵌入式PostgreSQL數據庫  這裏不使用內嵌的PostgreSQL 而使用外部數據庫mysql(mariadb) 參考

(https://www.cloudera.com/documentation/manager/5-1-x/Cloudera-Manager-Installation-Guide/cm5ig_installing_configuring_dbs.html#cmig_topic_5)
   Preparing an Cloudera Manager Server External Database章節

    133機器上安裝 centos7不能直接使用yum安裝 mysql-server  我這裏使用mariadb替代

yum -y install epel-release.noarch mariadb-server mariadb
 啓動並登錄測試

service mariadb start && mysql -uroot -proot
cm5須要經過java遠程鏈接mysql因此須要將java的驅動包放在某個特定的目錄(/usr/share/java)名字必須是mysql-connector-java.jar
下載地址:https://dev.mysql.com/downloads/connector/j/5.1.html
mkdir -p /usr/share/java/
cp /soft/mysql-connector-java-5.1.26-bin.jar /usr/share/java/mysql-connector-java.jar
  3》安裝cm5
  下載對應cm安裝包(http://archive.cloudera.com/cm5/) 好比我這裏下載cloudera-manager-centos7-cm5.5.6_x86_64.tar.gz

mkdir -p /opt/cloudera-manager
tar xzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

建立cm運行的用戶(home目錄cm版本目錄對應上)全部3臺主機都要建立

useradd --system --home=/opt/cloudera-manager/cm-5.5.6/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
其餘兩臺機器拷貝 cm 執行如下命令
scp -r /opt/cloudera-manager root@cdh2:/opt/cloudera-manager
scp -r /opt/cloudera-manager root@cdh3:/opt/cloudera-manager
修改兩臺agent機器(144和145) 配置server
vi /opt/cloudera-manager/cloudera-manager/cm-5.5.6/etc/cloudera-scm-agent/config.ini
修改server_host爲 cdh1或者ip地址:192.168.58.133  server_port使用默認7182【沒有修改過服務器的】
133 cmserver上初始化數據庫
/opt/cloudera-manager/cm-5.5.6/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -proot --scm-host localhost scm scm scm
成功結果:
root@cdh1 cm-5.5.6]# /opt/cloudera-manager/cm-5.5.6/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -proot --scm-host localhost scm scm scm
JAVA_HOME=/usr/java/jdk1.7.0_79
Verifying that we can write to /opt/cloudera-manager/cm-5.5.6/etc/cloudera-scm-server
Creating SCM configuration file in /opt/cloudera-manager/cm-5.5.6/etc/cloudera-scm-server
Executing:  /usr/java/jdk1.7.0_79/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cloudera-manager/cm-5.5.6/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cloudera-manager/cm-5.5.6/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
查看 /opt/cloudera-manager/cm-5.5.6/etc/cloudera-scm-server目錄/db.properties
# Auto-generated by scm_prepare_database.sh on Fri Apr 20 12:24:11 CST 2018
#
# For information describing how to configure the Cloudera Manager Server
# to connect to databases, see the "Cloudera Manager Installation Guide."
#
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm
動將數據庫信息寫入了該配置文件  mysql下建立了一個數據庫scm 建立了一個用戶scm 密碼scm 服務器是localhost
添加cm5的cdh5鏡像parcel  下載地址:http://archive.cloudera.com/cdh5/parcels/5.5.6/
下載和cm相同版本的cdh鏡像 其中el7表示centos7版本
CDH-5.5.6-1.cdh5.5.6.p0.2-el7.parcel
CDH-5.5.6-1.cdh5.5.6.p0.2-el7.parcel.sha1
manifest.json
將三個文件 放入/opt/cloudera/parcel-repo目錄
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
啓動server
/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-server start
[root@cdh1 init.d]# netstat -nlp | grep java
tcp        0      0 0.0.0.0:7180            0.0.0.0:*               LISTEN      5390/java           
tcp        0      0 0.0.0.0:7182            0.0.0.0:*               LISTEN      5390/java
7180是web管理界面
7182用於agent鏈接server
啓動兩臺agent
/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-agent start
瀏覽器訪問 http://192.168.58.133:7180/ 輸入用戶名密碼都是admin 注意 瀏覽器語言設置爲簡體中文 顯示中文版


三 。CDH刪除重裝

  1> 刪除Agent節點的UUID 

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

2>  清空主節點CM數據庫
進入主節點的Mysql數據庫,而後drop database scm;
 3> 刪除Agent節點namenode和datanode節點信息
# rm -rf /opt/dfs/nn/*
     # rm -rf /opt/dfs/dn/*
4> 在主節點上從新初始化CM數據庫
/opt/cloudera-manager/cm-5.5.6/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -proot --scm-host localhost scm scm scm
5> 執行啓動腳本
 啓動server
/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-server start
啓動agent
 
/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-agent start
相關文章
相關標籤/搜索