CentOS7安裝CDH 第六章:CDH的管理-CDH5.12


相關文章鏈接

CentOS7安裝CDH 第一章:CentOS7系統安裝

CentOS7安裝CDH 第二章:CentOS7各個軟件安裝和啟動

CentOS7安裝CDH 第三章:CDH中的問題和解決方法

CentOS7安裝CDH 第四章:CDH的版本選擇和安裝方式

CentOS7安裝CDH 第五章:CDH的安裝和部署-CDH5.7.0

CentOS7安裝CDH 第六章:CDH的管理-CDH5.12

CentOS7安裝CDH 第七章:CDH集群Hadoop的HA配置

CentOS7安裝CDH 第八章:CDH中對服務和機器的添加與刪除操作

CentOS7安裝CDH 第九章:CDH中安裝Kafka

CentOS7安裝CDH 第十章:CDH中安裝Spark2

CentOS7安裝CDH 第十一章:離線升級CDH版本

CentOS7安裝CDH 第十二章:YARN的資源調優

CentOS7安裝CDH 第十三章:CDH資源池配置

CentOS7安裝CDH 第十四章:CDH的優化

1. CDH體系架構剖析

1.1. 2個注意

  • 所有的配置修改,都是從 7180 端口的 web 界面修改。當在web界面修改配置信息后會提示需要集群重啟,此時選擇重啟,並選中其中的“重新部署客戶端配置”。
  • kill -9 cm 進程/hdfs 進程,supervisord 會啟動被 kill 掉的進程。
  • 修改配置信息步驟:Web 界面修改------>數據庫表 configs 表------->/etc/hadoop/*------->/var/run/cloudera-scm-agent/process/*
    • web 界面修改參數,保存,到 configs 表
    • 重新部署客戶端,到/etc/hadoop/的某個目錄下,然后通過 alternatives 命令動態更新到 conf文件夾;且會在/var/run/cloudera-scm-agent/process/目錄下生成 deploy 文件夾
    • 重啟集群或者重啟單個服務,會在/var/run/cloudera-scm-agent/process/目錄下生成各個組件的運行的配置文件夾(是有序號標識的)

1.2. 架構剖析

  • CM 分為 Server 與 Agent 兩部分及數據庫(MySQL)。它主要做三件事件:
    • 管理監控集群主機,包含自己。
    • 統一管理配置,提供 web 端。
    • 管理維護 Hadoop 平台系統。
  • 實現采用 C/S 架構,Agent 為客戶端,負責執行服務端發來的命令,執行方式一般為使用 python調用相應的服務 shell 腳本。Server 端為 Java REST 服務,提供 REST API,Web 管理端通過 REST API調用 Server 端功能,Web 界面使用富客戶端技術(Knockout)。
    • Server 端主體使用 Java 實現。
    • Agent 端主體使用 Python, 服務的啟動通過調用相應的 shell 腳本進行啟動,如果啟動失敗會重復 4 次調用啟動腳本。
    • Agent 與 Server 保持心跳,使用 Thrift RPC 框架。

2. CM中的常用命令

service cloudera-scm-server start|stop|restart|status

service cloudera-scm-agent start|stop|restart|status

查看進程:jps / jps -l /jps –m

注意:

當使用jps命令時,出現如下情景:

1101 -- process information unavailable

但ps -ef|grep 1101 找不到該進程,那么就是殘留文件,

此時cd /tmp/hsperfdata_hdfs/等類似文件夾中,找到 1101文件,刪除即可。

3. CDH集群正確啟動和停止順序

3.1. 啟動

1.su – mysqladmin service mysql start
2.service cloudera-scm-server start
3.service cloudera-scm-agent start (每台)
4.web: cms
5.web: cluster1

3.2. 停止

1.web: cluster1
2.web: cms
3.service cloudera-scm-agent stop (每台)
4.service cloudera-scm-server stop
5.su – mysqladmin service mysql stop

3.3. 注意點

cms 和 cluster1 無論哪個關閉、啟動等等操作,會造成web界面的圖表的 不繪制情景,此時可以采取如下操作:
1.cms 和 cluster1 都要啟動 ,稍微等待 ,正在恢復中(30s)
2.先cluster1關閉,再重啟cms服務

4. CDH配置QQ預警郵箱

4.1. 開啟QQ郵箱的SMTP 

這里使用了QQ郵箱的SMTP,需要獲取QQ郵箱的授權碼:

4.2. 安裝並開啟和關閉centos7對應的郵箱服務

# 卸載原有郵箱服務,並安裝新的郵箱服務
yum remove postfix
yum install postfix

# 關閉機器的sendmail服務
systemctl stop sendmail.service
systemctl disable sendmail

# 開啟postfix服務
systemctl start postfix.service
systemctl enable postfix

4.3. 創建證書文件

mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGINCERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -L -d /root/.certs
cd /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt

4.4. 在/etc/mail.rc文件末尾添加以下授權碼

set from=1043797615@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1043797615
#授權碼
set smtp-auth-password=cgnrvyvbbsufbcbd
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=/root/.certs

4.5. 命令行驗證郵箱服務

echo hello word | mail -s " title" 1028344078@qq.com
# 此時1028344078@qq.com 會收到一封郵件

4.6. CDH配置郵件測試

#查看 Alert 服務的 log
tail -F /var/log/cloudera-scm-alertpublisher/mgmt-cmf-mgmt-ALERTPUBLISHER-hadoop35.log.out

# 實時查看Linux中的郵件日志
tail -f /var/log/maillog

選擇警報,再選擇編輯收件人:

點擊發送測試警報,對應的郵箱會收到測試郵件。

4.7. 預警郵件中的坑

在Alert Publisher服務中,默認的郵件發件人地址如下,當郵件發送過多時,郵件的服務商會默認設置此地址為騷擾郵件,之后就不能接收到警告郵件了,此時可以在郵件網頁中,點擊回復,給此地址回復一封郵件,建立信任關系,就可以繼續收到此地址發送的郵件了。

5. CDH集群不能運行時的一些問題匯總

在CDH中有如下服務:

db(mysql)

server (cmf)

agent  本次被刪除了

cms(5個進程,amon )

HDFS/yarn/zk/hive 元數據

5.1. 數據庫服務沒有啟動

CDH集群中,CM的server需要引用數據庫中的cmf庫,cms(Cloudera Management Service)需要引用數據庫中的amon庫,所以當數據庫不能使用時,CDH集群啟動不了,CDH中的數據庫配置在/etc/cloudera-scm-server/db.properties路徑中。(在cms中,一共有5個子服務)

5.2. 一個節點中agent完全崩潰

1.此時先檢查節點中agent的狀態,將agent的遺留文件刪除。
2.進入/var/www/html/cm5/redhat/7/x86_64/cm/5.12.0/RPMS/x86_64文件夾中,安裝agent服務,安裝命令:yum install cloudera-manager-agent-5.12.0-1.cm5120.p0.120.el7.x86_64.rpm。
3.進入/etc/cloudera-scm-agent文件夾中,配置config.ini配置文件。
4.修改其中的server_host為cm的server安裝機器的IP地址(可以查看其他能運行的節點的該配置文件的IP地址)。
5.使用service cloudera-scm-agent start命令啟動該節點的agent,再去web界面重啟CMS。
上述問題說明CMS也是通過agent來啟動和管理的。

5.3. 地址已被使用問題

當CDH的啟動異常,並報如下錯誤時有幾種解決方法:

Caused by: java.net.BindException: Address already in use

1、此時為地址被占用,使用ps/netstat查看該進程號,並kill掉該進程即可。

例:

ps -ef | grep alert                          #查看alert的進程號

netstat -nlp |grep 12704                    #查看該進程的端口號

kill -9 12704                     #kill掉該進程,然后再查看端口號即可

2、可以在web界面將有問題的服務刪除,在添加該實例:

3、可以將cloudera-scm-agent服務停止,在kill父進程super(ps –ef|grep super),然后再啟動cloudera-scm-agent服務,再去web界面重啟。

4、實在不行重啟服務器

6. CDH中的日志介紹

stdout/stderr/role log

查看順序:role log -> stderr -> stdout


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM