CDH6报错解决全记录
一、服務器準備
1、服務器配置
準備3臺服務器,建議最低配置如下(阿里云大約每臺每月六百多):
centos7.4 8c 16G
39.101.192.109 node001
39.101.179.3 node002
39.99.236.205 node003
為服務器開啟外網端口訪問
7180、8900
2、下載安裝包
把下面列出的共12個文件下載到一臺文件服務器上
下載cdh文件到/var/www/html/cloudera-repos/目錄
(1)https://archive.cloudera.com/cdh6/6.0.0/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
(2)https://archive.cloudera.com/cdh6/6.0.0/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
(3)https://archive.cloudera.com/cdh6/6.0.0/parcels/manifest.json
下載repo支持文件到/var/www/html/cloudera-repos/repodata/目錄
(4)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/repomd.xml
(5)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/3224703272392229e02b46c2ef95286e92cce148a07c04752bcfe98870bfd675-primary.sqlite.bz2
(6)https://archive.cloudera.com/cdh6/6.3.2/redhat7/yum/repodata/4f1d5a908a6b4fd79988109121695168a65ef0846f178bbf32dc99f92c7cef36-filelists.sqlite.bz2
下載cm文件到/var/www/html/cloudera-repos/RPMS/x86_64/目錄
(7)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm
(8)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm
(9)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm
(10)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm
(11)https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm
下載文件到/var/www/html/cloudera-repos/目錄
(12)https://archive.cloudera.com/cm6/6.0.0/allkeys.asc
3、配置文件服務器
啟動一個http服務器用于安裝rpm安裝包,以及方便后面cdh安裝
cd /var/www/html/ cp ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256 ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha cp ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256 ./cloudera-repos/CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha1 python -m SimpleHTTPServer 8900- 1
- 2
- 3
- 4
為所有需要升級的服務器配置本地repo庫
vi /etc/yum.repos.d/cloudera-manager.repo- 1
- 1
- 2
- 3
- 4
- 5
測試配置是否生效
yum deplist cloudera-manager-agent- 1
二、環境準備
1、設置服務器超時時間1小時
/etc/profile中添加
export TMOUT=3600 # 超時時間1小時- 1
讓配置生效
source /etc/profile- 1
/etc/ssh/sshd_config中添加
ClientAliveInterval 60 # 每60秒檢測一次客戶端是否存在 ClientAliveCountMax 3 # 檢測3次- 1
- 2
修改配置后,重啟sshd服務
systemctl restart sshd- 1
2、配置3節點免密登錄
在每一臺服務器中的/etc/hosts添加節點名字
172.26.53.202 node001 172.26.53.203 node002 172.26.53.204 node003- 1
- 2
- 3
在每一臺服務器中生成rsa**,一路按回車即可
ssh-****** -t rsa- 1
在每一臺服務器執行如下命令,讓3臺服務器可互相免密登錄
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node001 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node002 ssh-copy-id -i ~/.ssh/id_rsa.pub root@node003- 1
- 2
- 3
3、 修改transparent_hugepage參數(透明大頁面壓縮)
echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local- 1
- 2
- 3
- 4
三、cdh安裝
1、每臺服務器安裝java
yum install oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm- 1
在/etc/profile中追加如下配置:
JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar PATH=$PATH:$JAVA_HOME/bin:$HOME/bin:$HOME/.local/bin- 1
- 2
- 3
讓配置生效
source /etc/profile- 1
2、安裝mysql
下載安裝包,安裝mysql-server
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server- 1
- 2
- 3
- 4
設置mysql大小寫不敏感(非常重要)
修改/etc/my.conf文件中 [mysqld] 的內容
- 1
啟動mysql服務,并把mysql加入開機啟動
systemctl start mysqld systemctl enable mysqld- 1
- 2
登錄到mysql
mysql -uroot -p- 1
為root用戶授外網訪問權限
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '##你的密碼##'; flush privileges;- 1
- 2
4、安裝
sudo yum clean all sudo yum upgrade cloudera-manager-daemons cloudera-manager-agent rpm -qa 'cloudera-manager-*'- 1
- 2
- 3
5、初始化數據庫
mysql -uroot -p- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
6、使用scm初始化mysql
sh /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm- 1
7、主節點啟動server
systemctl start cloudera-scm-server systemctl enable cloudera-scm-server tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log systemctl status cloudera-scm-server- 1
- 2
- 3
- 4
8、子節點啟動agent
配置server服務器地址
vim /etc/cloudera-scm-agent/config.ini- 1
- 1
啟動agent服務
systemctl start cloudera-scm-agent systemctl enable cloudera-scm-agent tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log systemctl status cloudera-scm-agent- 1
- 2
- 3
- 4
9、網頁訪問cm
http://39.101.192.109:7180/
四、異常解決方案
1、SqlExceptionHelper - Table ‘scm.CM_VERSION’ doesn’t exist
如果為linux系統,mysql修改為大小寫不敏感,修改/etc/my.conf文件中 [mysqld] 的內容
lower_case_table_names=1- 1
- 1
刪除scm數據庫,新建數據庫,重新執行scm_prepare_database.sh
sh /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm- 1
2、cm-server[38046]: ERROR StatusLogger No log4j2 configuration file found.
看一下/var/log/cloudera-scm-server/cloudera-scm-server.log日志,可能為其他包中報了其他的異常,導致找不到log4j2的配置。例如找不到數據表,或者數據表數據為空等。
3、scm.hosts not exist 或者表無數據
(1)如果為linux系統,mysql修改為大小寫不敏感,刪除scm數據庫后,新建數據庫,重新執行scm_prepare_database.sh
(2)主機名沖突:?https://blog.csdn.net/NeverGiveup54/article/details/102836562
(3)未設置主機名,在hosts中未設置主機名與ip的映射關系
4、cm安裝完成后,無法訪問
(1)如果是自建服務器,可以關閉防火墻,或者開放網絡端口
(2)如果是從阿里云或騰訊云購買的服務器,通過管理控制臺開放網絡端口
5、找不到哈希文件
sha1文件重命名為sha,要保證這里的sha的哈希在mainfest.json中一致。
在界面中修改“更多選項”中的列表,添加一個新的,然后再刪除,相當于刷新一遍緩存。
6、找不到cloudera-repos/allkeys.asc
未下載這個文件,在網上下載這個文件后放到/var/www/html/cloudera-repos/目錄
7、cdh離線安裝無法復制文件
sha256文件重命名為sha和sha1,要保證這里的sha的哈希在mainfest.json中一致。
8、主機運行狀態不良 / Cluster not found
https://blog.csdn.net/u011031430/article/details/74057601
在cm界面中,退回上一步
- 1
或者
rm -f /var/lib/cloudera-scm-agent/cm_guid systemctl restart cloudera-scm-agent- 1
- 2
9、CDH HDFS:NameNode is not formatted.
未使用的集群使用:hadoop namenode -format
已有數據的集群:https://blog.csdn.net/weixin_44202548/article/details/86496440
10、Starting cloudera-scm-server: [FAILED]
systemctl status -l cloudera-scm-server- 1
查看具體的失敗原因,如果未找到可以在日志文件中查看原因
vi /var/log/cloudera-scm-server/cloudera-scm-server.log- 1
11、cloudera-scm-agent日志中有錯誤
rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid- 1
或者
rm -f /var/lib/cloudera-scm-agent/cm_guid systemctl restart cloudera-scm-agent- 1
- 2
12、啟動cloudera-scm-agent,cloudera-scm-server時,說JDK不支持,要使用oracle jdk
一般在安裝前就會報這個錯,如果你已經安裝了oracle jdk,檢查環境變量是否配置JAVA,或者刪除系統中的openjdk,重新安裝oracle jdk
13、無法發出查詢:未能連接到Host Monitor
未初始化scm數據導致的,可能是由于在新建集群后,中斷安裝導致的
解決辦法為:在CM界面刪除集群,停止cm服務,并在后臺停止服務
- 1
- 2
重新從 第三章的第6小結開始
14、Hive啟動失敗,報如下錯誤
Command failed to run because this role has an invalid configuration. Review and correct its configuration. First error: Enable Stored Notifications in Database is required by Sentry and must be enabled.- 1
需要在Sentry中設置hive_enable_db_notification,這個選項打上勾。
15、Hive啟動失敗,報如下錯誤
Command failed to run because server kudu has an invalid configuration. Review and correct its configuration. First error: Sentry authraizion in Kudu required that Hive is configured with Kudu.- 1
重啟Hive后,Resume。
16、全部安裝好后,impala一直在重啟,看日志顯示:
Could not connect to meta store using any of the URIs provided. Most recent failure:.......Commection refused Failed to connect to the MetaStore Server... Failed to connect to Hive MetaStore. Retrying.- 1
- 2
- 3
(1)重啟Hive、MetaStore,通過命令行連接Hive,看是否正常
(2)檢查hive連接的數據庫,數據庫名可能為hive或者metastore,看里面是否有29張表,表中是否有數據
(3)如果庫中沒有表或沒有數據,則
17、用beeline連接hiveServer2時,報下面的錯
FAILED: InvalidConfigurationException hive.server2.authentication can’t be none in non-testing mode
修改hive-site.xml中的testing.mode為true
- 1
- 2
- 3
- 4
18、通過beeline連接hive后切換database,顯示如下:
User Hive does not have privileges for SWITCHDATABASE- 1
新建角色,賦權限給hive用戶
https://blog.csdn.net/lvtula/article/details/89177670
19、Sentry啟動HA的時候,報錯,后臺提示com.mysql.jdbc.Driver找不到
在HA的節點中,看一下/share/lib/有沒有jdbc的jar包。如果沒有,下載一個到該目錄
https://dev.mysql.com/downloads/connector/j/5.1.html
20、HDFS、YARN webui無法訪問
(1)如果域名綁定的是內網的IP,那這個WebUI默認綁定內網IP,可以在HDFS / YARN 配置中搜索“通配符”,把NameNode和DataNode使用通配符的選項勾選
(2)搜索webui,關閉kerberos的配置
總結
以上是生活随笔為你收集整理的CDH6报错解决全记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二、WIN10 64位下Pycharm打
- 下一篇: 单片机Proteus7.8仿真和Prot