大數(shù)據(jù)clouderaManager5.14.0離線部署
Cloudera Manager是cloudera公司提供的一種大數(shù)據(jù)的解決方案,可以通過ClouderaManager管理界面來對我們的集群進(jìn)行安裝和操作,提供了良好的UI界面交互,使得我們管理集群不用熟悉任何的linux技術(shù),只需要通過網(wǎng)頁瀏覽器就可以實現(xiàn)我們的集群的操作和管理,讓我們使用和管理集群更加的方便。
1、ClouderaManager整體架構(gòu)
Cloudera Manager的核心是Cloudera Manager Server。Server托管Admin Console Web Server和應(yīng)用程序邏輯。它負(fù)責(zé)安裝軟件、配置、啟動和停止服務(wù)以及管理運(yùn)行服務(wù)的群集。
解釋:
- Agent:安裝在每臺主機(jī)上。它負(fù)責(zé)啟動和停止進(jìn)程,解壓縮配置,觸發(fā)安裝和監(jiān)控主機(jī)
- Management Service:執(zhí)行各種監(jiān)控、報警和報告功能的一組角色的服務(wù)。
- Database:存儲配置和監(jiān)控信息
- Cloudera Repository:可供Cloudera Manager分配的軟件的存儲庫(repo庫)
- Client:用于與服務(wù)器進(jìn)行交互的接口:
- Admin Console:管理員控制臺
- API:開發(fā)人員使用 API可以創(chuàng)建自定義的Cloudera Manager應(yīng)用程序
Cloudera Management Service
- Cloudera Management Service 可作為一組角色實施各種管理功能
- Activity Monitor:收集有關(guān)服務(wù)運(yùn)行的活動的信息
- Host Monitor:收集有關(guān)主機(jī)的運(yùn)行狀況和指標(biāo)信息
- Service Monitor:收集有關(guān)服務(wù)的運(yùn)行狀況和指標(biāo)信息
- Event Server:聚合組件的事件并將其用于警報和搜索
- Alert Publisher :為特定類型的事件生成和提供警報
- Reports Manager:生成圖表報告,它提供用戶、用戶組的目錄的磁盤使用率、磁盤、io等歷史視圖
信號檢測
默認(rèn)情況下,Agent 每隔 15 秒向 Cloudera Manager Server 發(fā)送一次檢測信號。但是,為了減少用戶延遲,在狀態(tài)變化時會提高頻率。
狀態(tài)管理
- 模型狀態(tài)捕獲什么進(jìn)程應(yīng)在何處運(yùn)行以及具有什么配置
- 運(yùn)行時狀態(tài)是哪些進(jìn)程正在何處運(yùn)行以及正在執(zhí)行哪些命令(例如,重新平衡 HDFS 或執(zhí)行備份/災(zāi)難恢復(fù)計劃或滾動升級或停止)
- 當(dāng)您更新配置(例如Hue Server Web 端口)時,您即更新了模型狀態(tài)。但是,如果 Hue 在更新時正在運(yùn)行,則它仍將使用舊端口。當(dāng)出現(xiàn)這種不匹配情況時,角色會標(biāo)記為具有”過時的配置”。要重新同步,您需重啟角色(這會觸發(fā)重新生成配置和重啟進(jìn)程)
- 特殊情況如果要加入一些clouder manager控制臺沒有的屬性時候都在高級里面嵌入
服務(wù)器和客戶端配置
- 如使用HDFS,文件 /etc/hadoop/conf/hdfs-site.xml 僅包含與 HDFS 客戶端相關(guān)的配置
- 而 HDFS 角色實例(例如,NameNode 和 DataNode)會從/var/run/cloudera-scm-agent/process/unique-process-name下的每個進(jìn)程專用目錄獲取它們的配置
進(jìn)程管理
- 在 Cloudera Manager 管理的群集中,只能通過 Cloudera Manager 啟動或停止服務(wù)。ClouderaManager 使用一種名為 supervisord的開源進(jìn)程管理工具,它會重定向日志文件,通知進(jìn)程失敗,為合適用戶設(shè)置調(diào)用進(jìn)程的有效用戶 ID 等等
- Cloudera Manager 支持自動重啟崩潰進(jìn)程。如果一個角色實例在啟動后反復(fù)失敗,Cloudera Manager還會用不良狀態(tài)標(biāo)記該實例
- 特別需要注意的是,停止 Cloudera Manager 和 Cloudera Manager Agent 不會停止群集;所有正在運(yùn)行的實例都將保持運(yùn)行
- Agent 的一項主要職責(zé)是啟動和停止進(jìn)程。當(dāng) Agent 從檢測信號檢測到新進(jìn)程時,Agent 會在/var/run/cloudera-scm-agent 中為它創(chuàng)建一個目錄,并解壓縮配置
- Agent 受到監(jiān)控,屬于 Cloudera Manager 的主機(jī)監(jiān)控的一部分:如果 Agent 停止檢測信號,主機(jī)將被標(biāo)記為運(yùn)行狀況不良
主機(jī)管理
- Cloudera Manager 自動將作為群集中的托管主機(jī)身份:JDK、Cloudera Manager Agent、CDH、Impala、Solr 等參與所需的所有軟件部署到主機(jī)
- Cloudera Manager 提供用于管理參與主機(jī)生命周期的操作以及添加和刪除主機(jī)的操作
- Cloudera Management Service Host Monitor 角色執(zhí)行運(yùn)行狀況檢查并收集主機(jī)度量,以使您可以監(jiān)控主機(jī)的運(yùn)行狀況和性能
安全
身份驗證
Hadoop中身份驗證的目的僅僅是證明用戶或服務(wù)確實是他或她所聲稱的用戶或服務(wù),通常,企業(yè)中的身份驗證通過單個分布式系統(tǒng)(例如,輕型目錄訪問協(xié)議 (LDAP) 目錄)進(jìn)行管理。LDAP身份驗證包含由各種存儲系統(tǒng)提供支持的簡單用戶名/密碼服務(wù)
Hadoop 生態(tài)系統(tǒng)的許多組件會匯總到一起來使用 Kerberos 身份驗證并提供用于在 LDAP 或 AD 中管理和存儲憑據(jù)的選項
授權(quán)
CDH 當(dāng)前提供以下形式的訪問控制:
適用于目錄和文件的傳統(tǒng) POSIX 樣式的權(quán)限
適用于 HDFS 的擴(kuò)展的訪問控制列表 (ACL)
Apache HBase 使用 ACL 來按列、列族和列族限定符授權(quán)各種操作 (READ, WRITE, CREATE, ADMIN)
使用 Apache Sentry 基于角色進(jìn)行訪問控制
加密
需要獲得企業(yè)版的Cloudera(Cloudera Navigator 許可)
2、clouderaManager環(huán)境安裝前準(zhǔn)備
準(zhǔn)備兩臺虛擬機(jī),其中一臺作為我們的主節(jié)點,安裝我們的ClouderaManager Server與ClouderaManager agent,另外一臺作為我們的從節(jié)點只安裝我們的clouderaManager agent
機(jī)器規(guī)劃如下:

統(tǒng)一服務(wù)器的兩個路徑:
- mkdir -p /export/softwares/
- mkdir -p /export/servers/
2.1、兩臺機(jī)器更改主機(jī)名
第一臺機(jī)器更改主機(jī)名
- vim /etc/sysconfig/network
- NETWORKING=yes
- HOSTNAME=node01.hadoop.com
第二臺機(jī)器更改主機(jī)名
- vim /etc/sysconfig/network
- NETWORKING=yes
- HOSTNAME=node02.hadoop.com
2.2、更改主機(jī)名與IP地址的映射
兩臺機(jī)器更改hosts文件
- vim /etc/hosts
- 192.168.52.100 node01.hadoop.com node01
- 192.168.52.110 node02.hadoop.com node02
2.3、兩臺機(jī)器關(guān)閉防火墻
- service iptables stop
- chkconfig iptables off
2.4、兩臺機(jī)器關(guān)閉selinux
- vim /etc/selinux/config
- SELINUX=disabled
2.5、兩臺機(jī)器安裝jdk
將我們的jdk的壓縮包上傳到node01.hadoop.com的/export/softwares路徑下
- cd /export/softwares/
- tar -zxvf jdk-8u141-linux-x64.tar.gz -C /export/servers/
- 配置環(huán)境變量
- vim /etc/profile
- export JAVA_HOME=/export/servers/jdk1.8.0_141
- export PATH=:$JAVA_HOME/bin:$PATH
- source /etc/profile
第二臺機(jī)器同樣安裝jdk即可
2.6、兩臺機(jī)器實現(xiàn)SSH免密碼登錄
第一步:兩臺器生成公鑰與私鑰
兩臺機(jī)器上面執(zhí)行以下命令,然后按下三個回車鍵即可生成公鑰與私鑰
ssh-keygen -t rsa

第二步:兩臺機(jī)器將公鑰拷貝到同一個文件當(dāng)中去
兩臺機(jī)器執(zhí)行以下命令
ssh-copy-id node01.hadoop.com
第三步:拷貝authorized_keys到其他機(jī)器
第一臺機(jī)器上將authorized_keys拷貝到第二臺機(jī)器
scp /root/.ssh/authorized_keys node02.hadoop.com:/root/.ssh/
2.7、第二臺機(jī)器安裝mysql數(shù)據(jù)庫
通過yum源,在線安裝mysql
- yum install mysql mysql-server mysql-devel
- /etc/init.d/mysqld start
- /usr/bin/mysql_secure_installation
- grant all privileges on *.* to 'dsjuser'@'%' identified by 'Ypicdsjuat@123' with grant option;
- flush privileges;
2.8、解除linux系統(tǒng)打開文件最大數(shù)量的限制
兩臺機(jī)器都需要執(zhí)行
vi /etc/security/limits.conf
添加以下內(nèi)容
- * soft noproc 11000
- * hard noproc 11000
- * soft nofile 65535
- * hard nofile 65535
2.9、設(shè)置linux交換區(qū)內(nèi)存
兩臺機(jī)器都要執(zhí)行
執(zhí)行命令:
- echo 10 > /proc/sys/vm/swappiness
- 并編輯文件sysctl.conf:
- vim /etc/sysctl.conf
- 添加或修改
- vm.swappiness = 0
- 兩臺機(jī)器都要執(zhí)行:
- echo never > /sys/kernel/mm/transparent_hugepage/defrag
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 并編輯文件rc.local :
- vim /etc/rc.local
- echo never > /sys/kernel/mm/transparent_hugepage/defrag
- echo never > /sys/kernel/mm/transparent_hugepage/enabled
2.10、兩臺機(jī)器時鐘同步
兩臺機(jī)器需要進(jìn)行時鐘同步操作,保證兩臺機(jī)器時間相同
同步阿里云服務(wù)器時間:
- yum install vixie-cron crontabs
- crontab –e
- */1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
3、clouderaManager安裝資源下載
第一步:下載安裝資源并上傳到服務(wù)器
我們這里安裝CM5.14.0這個版本,需要下載以下這些資源,一共是四個文件即可
下載cm5的壓縮包
- 下載地址:http://archive.cloudera.com/cm5/cm/5/
- 具體文件地址:
- http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.14.0_x86_64.tar.gz
- 下載cm5的parcel包
- 下載地址:
- http://archive.cloudera.com/cdh5/parcels/
- 第一個文件具體下載地址:
- http://archive.cloudera.com/cdh5/parcels/5.14.0/CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel
- 第二個文件具體下載地址:
- http://archive.cloudera.com/cdh5/parcels/5.14.0/CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha1
- 第三個文件具體下載地址:
- http://archive.cloudera.com/cdh5/parcels/5.14.0/manifest.json
將這四個安裝包都上傳到第一臺機(jī)器的/opt/softwares路徑下:

第二步:解壓壓縮包到指定路徑
解壓CM安裝包到/opt路徑下去
- cd /export/softwares
- tar -zxvf cloudera-manager-el6-cm5.14.0_x86_64.tar.gz -C /opt/
第三步:將我們的parcel包的三個文件拷貝到對應(yīng)路徑
將我們的parcel包含三個文件,拷貝到/opt/cloudera/parcel-repo路徑下面去,并記得有個文件需要重命名
- cd /export/softwares/
- cp CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
重命名標(biāo)黃的這個文件
- cd /opt/cloudera/parcel-repo/
- mv CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha1 CDH-5.14.0-1.cdh5.14.0.p0.24-el6.parcel.sha=
第四步:所有節(jié)點添加普通用戶并給予sudo權(quán)限
在node01機(jī)器上面添加普通用戶并賦予sudo權(quán)限
執(zhí)行以下命令創(chuàng)建普通用戶cloudera-scm
- useradd --system --home=/opt/cm-5.14.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
賦予cloudera-scm普通用戶的sudo權(quán)限
- vim /etc/sudoers
- cloudera-scm ALL=(ALL) NOPASSWD: ALL
第五步:更改主節(jié)點的配置文件
node01機(jī)器上面更改配置文件
- vim /opt/cm-5.14.0/etc/cloudera-scm-agent/config.ini
- server_host=node01.hadoop.com
第六步:將/opt目錄下的安裝包發(fā)放到其他機(jī)器
將第一臺機(jī)器的安裝包發(fā)放到其他機(jī)器
- cd /opt
- scp -r cloudera/ cm-5.14.0/ node02:/opt
第七步:創(chuàng)建一些數(shù)據(jù)庫備用
node02機(jī)器上面創(chuàng)建數(shù)據(jù)庫
- hive 數(shù)據(jù)庫
- create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 集群監(jiān)控數(shù)據(jù)庫
- create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- hue 數(shù)據(jù)庫
- create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- oozie 數(shù)據(jù)庫
- create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
第八步:準(zhǔn)備數(shù)據(jù)庫連接的驅(qū)動包
在所有機(jī)器上面都準(zhǔn)備一份數(shù)據(jù)庫的連接驅(qū)動jar包放到/usr/share/java路徑下
準(zhǔn)備一份mysql的驅(qū)動連接包,放到/usr/share/java路徑下去
- cd /export/softwares/
- wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.45.tar.gz
- tar -zxvf mysql-connector-java-5.1.45.tar.gz
- cd /export/softwares/mysql-connector-java-5.1.45
- cp mysql-connector-java-5.1.45-bin.jar /usr/share/java/mysql-connector-java.jar
拷貝驅(qū)動包到第二臺機(jī)器
- cd /usr/share/java
- scp mysql-connector-java.jar node02:$PWD
第九步:為clouderaManager創(chuàng)建數(shù)據(jù)庫
- /opt/cm-5.14.0/share/cmf/schema/scm_prepare_database.sh mysql -hnode02 -uroot -p123456 --scm-host node01 scm root 123456
命令說明:/opt/cm-5.14.0/share/cmf/schema/scm_prepare_database.sh 數(shù)據(jù)庫類型 -h數(shù)據(jù)庫主機(jī) –u數(shù)據(jù)庫用戶名 –p數(shù)據(jù)庫密碼 --scm-host cm主機(jī) 數(shù)據(jù)庫名稱 用戶名 密碼

第十步:啟動服務(wù)
主節(jié)點啟動clouderaManager Server與ClouderaManager agent服務(wù)
- /opt/cm-5.14.0/etc/init.d/cloudera-scm-server start
- /opt/cm-5.14.0/etc/init.d/cloudera-scm-agent start
從節(jié)點node02啟動ClouderaManager agent服務(wù)
第十一步:瀏覽器頁面訪問
http://node01:7180/cmf/login
默認(rèn)用戶名admin密碼 admin
