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
[cloudera-manager]
name=Cloudera Manager 6.0.0
baseurl=http://node001:8900/cloudera-repos/
gpgcheck=0
enabled=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] 的内容

lower_case_table_names=1
  • 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
# Cloudera Manager的数据库
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm@123';
# Activity Monitor的数据库
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon@123';
# Reports Manager的数据库
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman@123';
# Hue的数据库
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue@123';
# Metastore的数据库
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY 'metastore@123';
# Sentry的数据库
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry@123';
# Cloudera Navigator Audit Server的数据库
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav@123';
# Cloudera Navigator Metadata Server的数据库
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms@123';
# Oozie的数据库
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie@123';
# Hive的数据库
CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive@123';
flush privileges;
  • 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
server_host=node001
  • 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
systemctl restart mysql
  • 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)主机名冲突: 问题解决:CDH6.3.1初始化scm_prepare_database数据库scm为空_金玉满堂5的博客-CSDN博客
(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

安装CDH时候出现主机运行状态不良情况的解决_紧到长卜帅的博客-CSDN博客_主机运行状况不良
在cm界面中,退回上一步

rm -f /opt/cloudera-manager/cm/lib/cloudera-scm-agent/cm_guid
  • 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
已有数据的集群:CDH 生产环境: NameNode is not formatted问题处理_Asher Boone的博客-CSDN博客

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服务,并在后台停止服务

systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server
  • 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

<property><name>sentry.hive.testing.mode</name><value>true</value>
</property>
  • 1
  • 2
  • 3
  • 4

18、通过beeline连接hive后切换database,显示如下:

User Hive does not have privileges for SWITCHDATABASE
  • 1

新建角色,赋权限给hive用户
User hdfs does not have privileges for CREATEDATABASE_lvtula的博客-CSDN博客

19、Sentry启动HA的时候,报错,后台提示com.mysql.jdbc.Driver找不到

在HA的节点中,看一下/share/lib/有没有jdbc的jar包。如果没有,下载一个到该目录
MySQL :: Download Connector/J

20、HDFS、YARN webui无法访问

(1)如果域名绑定的是内网的IP,那这个WebUI默认绑定内网IP,可以在HDFS / YARN 配置中搜索“通配符”,把NameNode和DataNode使用通配符的选项勾选
(2)搜索webui,关闭kerberos的配置

任何程序错误,以及技术疑问或需要解答的,请添加

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/546767.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT5动态创建多个按钮控件并关联信号槽函数

创建QT对话框工程&#xff0c;动态创建多个按钮&#xff0c;把动态创建的按钮存放在QList中&#xff0c;并关联同一个信号槽函数&#xff0c;在该槽函数中根据按钮对象名称各自进行其他事项处理。 在mainwindow.h文件添加 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include…

Java 200+ 面试题补充 ThreadLocal 模块

让我们每天都有进步&#xff0c;老王带你打造最全的 Java 面试清单&#xff0c;认真把一件事做到极致。 本文是前文《Java 最常见的 200 面试题》的第一个补充模块。 1.ThreadLocal 是什么&#xff1f; ThreadLocal 是一个本地线程副本变量工具类。主要用于将私有线程和该线程…

如何在CDH5.16.2中部署海豚调度器Apache Dolphin Scheduler 1.2.0

Apache Dolphin Scheduler 组件介绍 分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。 官网 : https://dolphinscheduler.apache.org/en-us/ Github : https://github.com/apache…

Ubuntu20.04 pycharm python打包制作DEB包详细步骤及雷区

记录一次Deb打包过程及踩雷警示 最近写了一个python的小程序&#xff0c;希望能打包成deb文件&#xff0c;便于将写好的软件安装 在其他没有安装工作环境的电脑上&#xff0c;把这安装deb后可以在应用列表和桌面看到。下面介绍一个python工程的打包过程&#xff0c; 分为两大步…

有人问我,为什么1+1等于2

2019独角兽企业重金招聘Python工程师标准>>> 我回复说&#xff1a;“这是规则&#xff0c;天地万物有其规则&#xff0c;人观察而形成自己的规则。李小龙说&#xff1a;“以无法为有法&#xff0c;以无限为有限”&#xff0c;其实也是用最大的规则作为准则&#xff…

你真的知道 == 和 equals 的区别吗?

让我们每天都有进步&#xff0c;老王带你打造最全的 Java 面试清单&#xff0c;认真把一件事做到极致。 在 Java 中 和 equals 的区别&#xff0c;感觉只有很少的人能才完全说正确。 常见的错误回答就是&#xff1a; 基础类型对比的是值是否相同&#xff0c;引用类型对比的是…

Ray集群搭建 Python Demo

目录 准备条件&#xff08;基于linux环境&#xff09; 参考文献例子-python Ray集群 1.部署head节点2.部署worker节点部署Ray集群安装Ray&#xff08;在所有节点上安装&#xff09;Ray工作原理Ray的优势Ray简介准备条件&#xff08;基于linux环境&#xff09; 这里部署2个节点…

Java 200+ 面试题补充② Netty 模块

让我们每天都能看到自己的进步。老王带你打造最全的 Java 面试清单&#xff0c;认真把一件事做到最好。 本文是前文《Java 最常见的 200 面试题》的第二个补充模块&#xff0c;第一模块为&#xff1a;《Java 200 面试题补充 ThreadLocal 模块》。 1.Netty 是什么&#xff1f; …

Ray.tune可视化调整超参数Tensorflow 2.0

Ray.tune官方文档 调整超参数通常是机器学习工作流程中最昂贵的部分。 Tune专为解决此问题而设计&#xff0c;展示了针对此痛点的有效且可扩展的解决方案。 请注意&#xff0c;此示例取决于Tensorflow 2.0。 Code: ray/python/ray/tune at master ray-project/ray GitHub E…

MySql 优化的 30 条建议

文章来源&#xff1a;包子博客MySql 优化的 30 条建议1、应尽量避免在 where 子句中使用!或<>操作符&#xff0c;否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化&#xff0c;应尽量避免全表扫描&#xff0c;首先应考虑在 where 及 order by 涉及的列上建立索引…

Ubuntu18 Win10搭建Caffe训练识别mnist手写数字demo

ubuntu 系统下的Caffe环境搭建 对于caffe的系统一般使用linux系统&#xff0c;当然也有windows版本的caffe&#xff0c;不过如果你一开始使用了windows下面的caffe&#xff0c;后面学习的过程中&#xff0c;会经常遇到各种错误&#xff0c;网上下载的一些源码、模型也往往不能…

windows server 2008 IE代理服务器实验

一、首先介绍IE代理服务器的好处如下&#xff1a;1、节省带宽 2、绕过防火墙二、下面以这个软件为代理软件&#xff0c;本人在物理机和虚拟机实验&#xff0c;1、首先在物理机安装代理软件&#xff0c;安装完成如图所示&#xff1a;2、在“设置”项代理协议端口、在本地局域网…

Java 200+ 面试题补充③ Dubbo 模块

昨天在我的 Java 面试粉丝群里&#xff0c;有一个只有一年开发经验的小伙伴只用了三天时间&#xff0c;就找到了一个年薪 20 万的工作&#xff0c;真是替他感到开心。 他的经历告诉我们&#xff1a;除了加强自我实战经验之外&#xff0c;还要努力积累自己的理论知识。 人生没有…

十一、PyQt5点击主窗口弹出另一个非模态子窗口

单击主对话框菜单“设置“下的”交换机配置”action的信号与槽 主对话框代码: # -*- coding: utf-8 -*-import sys from PyQt5 import QtCore from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog, QDesktopWidget import win32api import win32con

彻底搞懂 Java 中的注解 Annotation

Java注解是一系列元数据&#xff0c;它提供数据用来解释程序代码&#xff0c;但是注解并非是所解释的代码本身的一部分。注解对于代码的运行效果没有直接影响。网络上对注解的解释过于严肃、刻板&#xff0c;这并不是我喜欢的风格。尽管这样的解释听起来非常的专业。为了缓解大…

cs时间校准

2019独角兽企业重金招聘Python工程师标准>>> c/s结构中的时间校准 拜读了风云的一篇博客 思路比较明显简单: C发包打时间戳 S收包打时间戳 S回应包打时间戳 C收包打时间戳 4个时间戳可以进行计算校准. 假设来回时间相等 转载于:https://my.oschina.net/u/1449566/bl…

使用ACME部署生成阿里云免费HTTPS证书

使用ACME部署HTTPS证书 背景 现在越来越多的服务都是基于web&#xff0c;大多数默认使用HTTP协议。HTTP协议是一种没有加密的协议&#xff0c;所有数据都通过明文传输&#xff0c;即便是只在内网使用也存在一定的安全风险。尤其是对于登录等操作&#xff0c;账号密码通过HTTP…

Java性能优化的50个细节(珍藏版)

来源&#xff1a;http://t.cn/EMze6kc在JAVA程序中&#xff0c;性能问题的大部分原因并不在于JAVA语言&#xff0c;而是程序本身。养成良好的编码习惯非常重要&#xff0c;能够显著地提升程序性能。1. 尽量在合适的场合使用单例使用单例可以减轻加载的负担&#xff0c;缩短加载…

强化学习基础篇 OpenAI Gym 环境搭建demo

1. Gym介绍 Gym是一个研究和开发强化学习相关算法的仿真平台&#xff0c;无需智能体先验知识&#xff0c;由以下两部分组成 Gym开源库&#xff1a;测试问题的集合。当你测试强化学习的时候&#xff0c;测试问题就是环境&#xff0c;比如机器人玩游戏&#xff0c;环境的集合就…

九、PyQt5 QLineEdit输入的子网字符串校验QRegExp

自己编写的用于对lineEdit编辑框输入的子网,例如:192.168.60.1/24字符串校验是否合规。 # 限制lineEdit编辑框只能输入./字符和数字reg = QRegExp([0-9./]+$)validator = QRegExpValidator(self)validator.setRegExp(reg)self.lineEditSubNet.setValidator(validator)