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

相關文章連接

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

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

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

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

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

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

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

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

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

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

一、此時爲地址被佔用,使用ps/netstat查看該進程號,並kill掉該進程便可。

例:

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

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

kill -9 12704                     #kill掉該進程,而後再查看端口號便可

二、能夠在web界面將有問題的服務刪除,在添加該實例:

三、能夠將cloudera-scm-agent服務中止,在kill父進程super(ps –ef|grep super),而後再啓動cloudera-scm-agent服務,再去web界面重啓。

四、實在不行重啓服務器

6. CDH中的日誌介紹

stdout/stderr/role log

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

相關文章
相關標籤/搜索