CDH5.13.1大数据集群搭建手册

一、环境配置

1.软件环境

本文将介绍Centos7.2 离线安装CDH和Cloudera Manager过程,软件版本如下:
在这里插入图片描述

2.配置规划

本次安装共5台服务器,服务器配置及用途如下:
在这里插入图片描述

3.所需要的软件资源

1)JDK环境:
JDK版本:1.8.0_151
jdk-8u151-linux-x64.rpm
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2)CM包:
CM版本:5.13.1
cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz

3)CDH包
CDH版本:5.13.1,
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel;
CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1;
manifest.json
4)JDBC连接jar包:
jar包版本:5.1.43,
mysql-connector-java-5.1.43.jar

4.修改机器名(所有节点)

1)修改机器名称

# hostnamectl set-hostname xxx  //设置机器名
#hostname // 查看本机名

这种方式,在Centos7中可以永久性改变主机名称。
2)每个节点机器,都要配置hosts

# vi /etc/hosts

内容都改为:

127.0.0.1  localhost //建议保留此行
172.16.3.168  node168
172.16.3.169  node169
172.16.3.170  node170
172.16.3.171  node171
172.16.3.172  node172
5.*设置防火墙(所有节点)

注:为了简便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。
若公司服务器已关闭防火墙,这个步骤可以不用配置

防火墙常用命令:

# firewall-cmd  --state(查询防火墙状态) 
#systemctl stop firewalld.service (关闭防火墙) 
#systemctl start firewalld.service (开启防火墙)
#systemctl disable firewalld.service (禁止firewall开机启动)
 

设置防火墙策略,在所有节点执行下面脚本(执行前要启动防火墙):

//集群机器间可以相互访问
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.168' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.169' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.170' port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.171’ port protocol='tcp' port='0-65535' accept"
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.16.3.172' port protocol='tcp' port='0-65535' accept" 
//设置可以访问的端口
firewall-cmd --permanent --add-port=0-65535/tcp
firewall-cmd --reload

注意: 需要在所有的节点上执行,因为涉及到的端口太多了,临时开放所有端口是为了安装起来方便,安装完毕后可以根据需要设置防火墙策略,保证集群安全。

6.配置免密码登录SSH

将子节点设置为从主节点ssh无密码登陆(主节点访问从节点需要无密码互通,否则后面会出现问题)
在主节点上执行:

#cd~ //进入到 根目录
# ssh-keygen -t rsa

一路回车,生成无密码的密钥对。
在这里插入图片描述
把公钥拷贝至node169服务器上 :

# scp /root/.ssh/id_rsa.pub root@node169:~    //输入node169机器上root用户密码拷备成功

登录到node169服务器上:
然后在node169服务器上,把公钥的内容追加到authorized_keys文件末尾(这个文件也在隐藏文件夹.ssh下,如果没有可以新建):

# cat id_rsa.pub >> ~/.ssh/authorized_keys
如果提示下面信息,则需要创建./ssh目录:
-bash: /root/.ssh/authorized_keys: No such file or directory

//创建/.ssh目录,再追加公钥内容
# mkdir ~/.ssh
# cat id_rsa.pub >> ~/.ssh/authorized_keys

并设置authorized_keys的访问权限:

# chmod 600 ~/.ssh/authorized_keys

测试:在node168点上执行ssh node169,正常情况下,不需要密码就能直接登陆进去了。
在node168节点出现下面表示成功登录node169节点:
在这里插入图片描述
以同样的方式将公钥拷贝至其他节点服务器上。

7.关闭SELINUX(所有节点)

关闭linux SELINUX安全内核

# setenforce 0 (临时生效)

修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

# vi /etc/selinux/config

内容增加:

SELINUX=disabled 

重启后生效:

# reboot

查看SELINUX 是否关闭:

#sestatus

(在Centos7中遇到SELINUX无法关闭的问题,重新启动机器恢复正常)

8.修改Linux内核参数(所有节点)

为避免安装过程中出现的异常问题,首先调整Linux内核参数。
1)设置swappiness,控制换出运行时内存的相对权重,Cloudera 建议将 swappiness 设置为 10:

//查看swappiness
# cat /proc/sys/vm/swappiness
//永久性修改,执行下面两条命令
# sysctl -w vm.swappiness=10
# echo vm.swappiness = 10 >> /etc/sysctl.conf 
 sysctl -p

2)关闭透明大页面:
自CentOS6版本开始引入了Transparent Huge Pages(THP),从CentOS7版本开始,该特性默认就会启用。尽管THP的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭THP,否则可能会导致性能出现下降。
首先查看透明大页是否启用,[always] never表示已启用,always [never]表示已禁用:

# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

以上状态就说明是启用的。
临时关闭(重启机器会变回默认开启状态):

# echo never > /sys/kernel/mm/transparent_hugepage/defrag
# echo never > /sys/kernel/mm/transparent_hugepage/enabled

永久关闭:

//编辑/etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
//在文件后添加下面内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出,然后赋予rc.local文件执行权限:

#chmod +x /etc/rc.d/rc.local

重启系统,以后再检查THP状态,显示状态被禁用了。
在这里插入图片描述
3)修改文件句柄数:
修改系统文件句柄数限制:

//查看文件句柄数,显示1024,显然太小
# ulimit -n 
1024
//修改限制
#vi /etc/security/limits.conf 
//在文件后加入下面内容:

* soft nofile 100000
* hard nofile 100000

修改后需要重启机器。

9.其他安装与配置(所有节点)

为避免安装过程中出现异常问题,安装相关依赖包:

# yum  -y  install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security  x86_64 spax time zlib-devel
#yum install -y python-lxml
#yum install krb5-devel cyrus-sasl-gssapi cyrus-sasl-deve libxml2-devel libxslt-devel mysql mysql-devel openldap-devel python-devel python-simplejson sqlite-devel

# chmod +x /etc/rc.d/rc.local
# yum -y install rpcbind
# systemctl start rpcbind
# echo "systemctl start rpcbind" >> /etc/rc.d/rc.local
10.配置NTP服务

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体建设过程如下:
所有节点安装相关组件:

# yum install  ntp  ntpdate  -y

NTP服务端(主节点):
1)查找时间同步服务器http://www.pool.ntp.org/zone/asia:
打开网址,内容如下:
在这里插入图片描述
2)编辑 /etc/ntp.conf:

# vi /etc/ntp.conf
//在文件中输入上面网页内容:

server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

3)启动ntp服务:

#  systemctl start  ntpd

4)配置开机启动:

#systemctl enable  ntpd.service

注意:如果ntpd 开机启动失效,有可能是因为安装了chronyd 并且是开机自启状态,所以导致ntpd开机自启失败

# 查看  chronyd设置状态
# systemctl status chronyd

显示如下:
在这里插入图片描述
以面表明,chronyd显示为开机启动状态。
将chronyd设为禁用状态:

# systemctl disable chronyd.service

此时,NTP的服务开机自启动完成!
5)检查是否设置成功:

# ntpq  -p
//更新时间
#timedatectl 

NTP客户端(所有从节点):
6)远程客户端时间同步测试

# date
# ntpdate 172.16.3.168

172.16.3.168是NTP服务端IP,显示如下信息,测试成功:
在这里插入图片描述
7)客户端设置计划任务,每30分钟同步时间

#crontab -e 
//加入内容:
0-59/30 * * * * /usr/sbin/ntpdate 172.16.3.168 && /sbin/hwclock -w

8)设置定时任务开机启动

//设置开机启动
# systemctl enable crond.service

//查看状态
# systemctl status crond
11.安装 JDK1.8 (所有节点)

官网下载JDK安装包jdk-8u151-linux-x64.rpm ,或者本地传输到Linux,注意每一台机器都要配置JDK。
CentOS系统一般自带OpenJdk,需要卸载掉自带的OpenJdk,使用

# rpm -qa | grep java

查询java相关的包,使用

# rpm -e –nodeps +包名

强制卸载掉,下面安装oralce JDK

# rpm -ivh jdk-8u151-linux-x64.rpm

配置JAVA_HOME环境变量:
修改/etc/profile文件配置环境变量, 执行命令:

# vi /etc/profile   

在profile文件最后,输入下面内容,保存并退出。

export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin 

执行下面命令,让配置生效

# source /etc/profile   //使修改立即生效
# echo $PATH   //查看PATH值
# echo $JAVA_HOME   //查看JAVA_HOME值
# java -version      //查看jdk环境是否配置完毕

在Centos7中修改/etc/profile文件配置环境变量,机器启动后有时不生效,可以修改/etc/bashrc文件配置环境变量:

# vi /etc/bashrc 
//在文件最后加入:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin 
//使修改立即生效
# source /etc/bashrc 
//查看JAVA_HOME值
# echo $JAVA_HOME  
# java -version      //查看jdk环境是否配置完毕
12.Mysql安装(主节点)

注意:MySQL有多种安装方式,可以自行安装,这里提供依赖安装方法,注意四个依赖顺序
到官网https://dev.mysql.com/downloads/file/?id=469456选择对应安装包:
1)下载安装包

#wget https://cdn.mysql.com//archives/mysql-5.7/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar

2)解压安装包

# tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar
//解压后文件列表:
mysql-community-embedded-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-devel-5.7.18-1.el7.x86_64.rpm
mysql-community-client-5.7.18-1.el7.x86_64.rpm
mysql-community-common-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-5.7.18-1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-5.7.18-1.el7.x86_64.rpm
mysql-community-server-minimal-5.7.18-1.el7.x86_64.rpm
mysql-community-test-5.7.18-1.el7.x86_64.rpm
mysql-community-minimal-debuginfo-5.7.18-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

3)按次序安装
按common–>libs–>client–>server的顺序安装:

# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm 

//安装下面包,否则Hue安装报连接错误
# rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

4)启动数据库

# systemctl start mysqld 
查看状态: 
# systemctl status mysqld

5)修改MySQL初始密码

1、先修改配置文件/etc/my.cnf令MySQL跳过登录时的权限检验,在[mysqld]下加入一行:
skip-grant-tables
2、重启MySQL
#service mysqld restart
3、免密码登录MySQL。
#mysql
4、mysql客户端执行如下命令,修改root密码
mysql>  use mysql;
mysql> UPDATE user SET authentication_string = password('your-password') WHERE host = 'localhost' AND user = 'root';
mysql> select host,user, authentication_string, password_expired from user; 
mysql> update user set password_expired='N' where password_expired='Y' //密码不过期
mysql> update user set host='%' where user='root' and host='localhost'; //远程可访问
mysql> flush privileges; //刷新
mysql> exit;//退出

5、修改配置文件/etc/my.cnf删除此前新增那一行skip-grant-tables,并重启MySQL
(这一步非常重要,不执行可能导致严重的安全问题)
#service mysqld restart //重启 Mysql

二、安装CM

1.传包,解包

在主节点上下载相关软件包,这里将软件包下载到/data/ cdh/目录下。

#cd /data/cdh

下载Mysql JDBC包:

#wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar

下载CM:

#wget http://archive-primary.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz 

下载CDH:

#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/manifest.json
#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1
#wget http://archive-primary.cloudera.com/cdh5/parcels/5.13.1/CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel

将CM解压到/opt/目录:

# tar -zxvf cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz  -C /opt/
# ls /opt/
cloudera  cm-5.13.1
2.创建数据库

在主节点上:

# mysql -h127.0.0.1 -uroot -p   //加参数-h127.0.0.1 指定本机方式,否则可能不允许执行grant
Enter password:          \\输入数据库密码
//在命令状态输入下面脚本:
--hive数据库 
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--集群监控元数据数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--hue数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--监控台数据库
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- oozie数据库
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
grant all privileges on *.* to root@localhost identified by '123456' with grant option;
grant all privileges on *.* to root@"%" Identified by "123456";
flush privileges;
exit;
//复制Mysql JDBC包到/opt/cm-5.13.1/share/cmf/lib/目录
#cp mysql-connector-java-5.1.43-bin.jar /opt/cm-5.13.1/share/cmf/lib/
//初始化CM,执行下面脚本
# /opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode168 -uroot -p123456--scm-host node168 scm scm scm

//如果出现下面错误:
错误一:
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
//解决办法:
在/etc/hosts 文件中,加上
127.0.0.1 localhost.node168

错误二:cm库已存在
Drop database cm

错误三:ERROR Exception when creating/dropping database with user 'root' and jdbc url 'jdbc:mysql://node01/?useUnicode=true&characterEncoding=UTF-8'
重新授权:
grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'node168' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'127.0.0.1' identified by '123456' with grant option;
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

grant all privileges on *.* to 'scm'@'localhost' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'node168' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'127.0.0.1' identified by 'scm' with grant option;
grant all privileges on *.* to 'scm'@'%' identified by 'scm' with grant option;
flush privileges;

错误四: Successfully connected to database.ERROR Unable to create/drop a table.
java.sql.SQLException: Statement violates GTID consistency: CREATE TABLE ... SELECT.
连接成功,但是不能建表
解决方法:若my.cnf中存在gtid_mode、enforce_gtid_consistency字段,需修改为如下内容:
gtid_mode = OFF
enforce_gtid_consistency = OFF
要两个参数一起改,然后重启mysql,问题解决

主节点/etc/hosts内容:
在这里插入图片描述
脚本/scm_prepare_database.sh 执行成功界面:
在这里插入图片描述

说明:初始化CM这个脚本就是用来创建和配置CMS需要的数据库的脚本。
各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
–hnode168:数据库建立在node168主机上面。
-uroot:root身份运行mysql。
-p1234:mysql的root密码是1234,这里为了方便密码也设置为root。
–scm-host cmserver:CMS的主机,一般是和mysql安装的主机是在同一个主机上,也可指定其他主机。
最后三个参数是:数据库名,数据库用户名,数据库密码,这里统一scm

3.创建用户

在所有节点上执行:

# useradd --system --home=/opt/cm-5.13.1/run/cloudera-scm-server  --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
4.制作本地YUM源

在主节点上:

//进入软件包目录
#cd /data/cdh
//拷贝三个文件到/opt/cloudera/parcel-repo/目录
#cp  CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo/
//进入/opt/cloudera/parcel-repo/目录
#cd /opt/cloudera/parcel-repo/
//修改文件名
#mv CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha1  CDH-5.13.1-1.cdh5.13.1.p0.2-el7.parcel.sha

此时/opt/cloudera/parcel-repo/目录下文件:
在这里插入图片描述

5.拷贝jar包

在主节点上:该操作在上述环节已操作

//将mysql JDBC jar 包拷贝到  /opt/cm-5.13.1/share/cmf/lib/ 目录,并重命名
#cp mysql-connector-java-5.1.43-bin.jar  /opt/cm-5.13.1/share/cmf/lib/

在所有节点上:

//如果没有/usr/share/java/目录,则创建
# cp mysql-connector-java-5.1.43-bin.jar /usr/share/java/mysql-connector-java.jar
在usr/share/java下执行chmod 777 ./*   
6.修改cloudera-scm-agent配置

在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:
将server_host改为主节点IP

//将config.ini server_host=localhost 内容改为server_host=172.16.3.168
# sed -i "s/server_host=localhost/server_host=172.16.3.168/" /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini
在主节点上:
//将cm-5.13.1 打包,并复制到其他节点
#cd /opt 
#tar czf cm-5.13.1.tar.gz  cm-5.13.1/
//复制到其他节点
#scp cm-5.13.1.tar.gz node169:/opt/
#scp cm-5.13.1.tar.gz node170:/opt/
#scp cm-5.13.1.tar.gz node171:/opt/
#scp cm-5.13.1.tar.gz node172:/opt/

在所有从节点上解压:

//将cm-5.13.1 包解压
#cd opt 
#tar -xzvf cm-5.13.1.tar.gz 
//解压后删除
#rm -rf cm-5.13.1.tar.gz
7.启动CM Server和Agent

在主节点上,启动cloudera-scm-server和agent :

# /opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start

启动过程较慢,可通过/opt/cm-5.13.1/log/cloudera-scm-server日志,查看启动过程。
在所有节点上,启动cloudera-scm-agent:

# /opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
8.访问CM

地址:http://主节点IP:7180
用户名、密码:admin
在这里插入图片描述

三、安装CDH

1.登录后界面

接受协议:
在这里插入图片描述

2.选择CM版本

这里选择Cloudera Express免费版。
在这里插入图片描述
在这里插入图片描述

3.指定主机

在搜索主机名和IP地址框输入node[169-172],这里输入的内容支持正则表达式。输入后点【搜索】按钮,出现机器列表:
在这里插入图片描述
选择“当前管理的主机“选择项卡,点【继续】。
在这里插入图片描述

4.检查主机正确性

确保全部验证通过。
在这里插入图片描述

5.选择CDH版本

这里需要选择制作本地源时的版本,如果选择别的版本的就会去官网下载,那样安装速度会很慢。
在这里插入图片描述
点【继续】按钮,进入安装界面。

在这里插入图片描述
【注意】容易出现 “主机运行状态不良”错误
在这里插入图片描述
遇到节点“主机运行状态不良”的提示,解决办法是删除故障节点Agent服务cm_guid文件:

#rm -rf /opt/cm-5.13.1/lib/cloudera-scm-agent/cm_guid

重新启动故障节点Agent服务:

#/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent restart

重启故障节点Agent服务后,故障消失:
出现故障原因是,因为之前在故障节点启动过cloudera-scm-agent服务。

6.选择安装的服务

本文选择的是安装所有服务。也可以自定义安装,后面集群搭建完毕选择“添加服务”来添加所需要的的服务。

在这里插入图片描述

7.角色分配

这里应该根据实际需求和服务器的硬件参数自己选择
在这里插入图片描述

8.数据库设置

指定的数据库名称,要与2.2节创建的数据库(hive,monitor,oozie,hue)保持一致,并输入对应的数据库用户名和密码,为了简便这里用的是root账号名和密码。

在这里插入图片描述
在这里插入图片描述
hue测试连接报错:
测试连接,Hue 测试报错:Unable to verify database connection:
原因是缺少Mysql mysql-community-libs-compat 安装包,安装后,问题解决:

//进入安装包所在目标
# cd /data/mysql/ 
# rpm -ivh  mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm

在这里插入图片描述
测试成功后,点【继续】安装。

9.群集设置

可以根据自己的实际情况更改设置,本文采用默认配置。这些配置也可以在集群安装完成后再更改。
在这里插入图片描述

10.开始安装

在这里插入图片描述
在这里插入图片描述
安装过程没有任何错误,显示安装完成。

11.安装完成

第一次安装完成后,会出现一些配置的警告信息。这些可以根据提示信息更改。
在这里插入图片描述

四、常见错误

4.1.初始化数据库错误
在这个环节,出现的问题较多,但总的来说,是与数据库参数配置,和帐号权限配置有关。
如在执行scm_prepare_database.sh脚本时,出现的错误:
java.sql.SQLException: Your password does not satisfy the current policy requirements
一般是由密码策略级别问题引发:
可以通过my.cnf配置文件关闭 validate_password 插件。
通过修改/etc/my.cnf目录下配置文件,修改设置密码策略的级别,只需要在[mysqld]下添加一行

validate_password = off

如图所示:
在这里插入图片描述
编辑完配置文件后,重启mysqld服务即可生效。

2.未能连接到 Host Monitor

在这里插入图片描述
后台tail -f /opt/cm-5.13.1/log/cloudera-scm-server/cloudera-scm-server.log 日志报错信息:
com.cloudera.cmon.MgmtServiceLocatorException: Could not find a HOST_MONITORING nozzle from SCM.
此问题原因\由文件句柄数限制引起,在主节点上,修改/opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini文件:

//查看文件句柄数,显示1024,显然太小
# ulimit -n 
1024
//修改限制
#vi /etc/security/limits.conf 
//在文件后加入下面内容:

* soft nofile 100000
* hard nofile 100000

此步骤需要重启机器生效,可以设置完后再重启。
注:按照上面过程操作,若问题依然存在,可以通过用3.4节中 “主机运行状态不良”故障问题解决办法,问题得到解决。

3.后端服务器报错

在这里插入图片描述

解决方案:安装psmisc
yum  install psmisc
4.hue启动报错

在这里插入图片描述

需要安装:
yum install httpd mod_ssl
6初始化hive和oozie元数据库报错

在这里插入图片描述

解决方法:
(1)数据库驱动放置到lib目录,并带版本号,
#cp mysql-connector-java-5.1.43-bin.jar  /opt/cm-5.13.1/share/cmf/lib/
#chmod  777 /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.43-bin.jar
(2)权限授权:后端授权777
7.缺少 rpcbind包

Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.’
解决方法:Yum安装rpcbind包

8.通过hue连接hive数据库报错

在这里插入图片描述
缺少相关包或依赖

yum install cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi
yum install apache-maven ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libxml2-devel libxslt-devel make mysql mysql-devel openldap-devel python-devel sqlite-devel gmp-devel
   再通过cdh重启hue
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章