本人搭建的cdh版本是5.10.1,服务器的版本是redhat 7.4,在搭建cdh的过程中遇见了下列问题,分享出来给大家参考参考
一、CDH搭建成功以后,安装服务的过程中突然崩溃的步骤:
解决:
1> 删除Agent节点的UUID
# rm -rf /opt/cm-5.4.7/lib/cloudera-scm-agent/*
2> 清空主节点CM数据库
进入主节点的Mysql数据库,然后drop database cm;
3> 删除Agent节点namenode和datanode节点信息
# rm -rf /opt/dfs/nn/*
# rm -rf /opt/dfs/dn/*
4> 在主节点上重新初始化CM数据库
# /opt/cm-5.4.7/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
5> 执行启动脚本
主节点:# /opt/cm-5.4.7/etc/init.d/cloudera-scm-server start
Agent节点:# /opt/cm-5.4.7/etc/init.d/cloudera-scm-agent start
二、CDH 配置spark Error: JAVA_HOME is not set and could not be found.
解决:mkdir -p /usr/java
ln -s /usr/local/jdk目录 /usr/java/default
三、hdfs实现高可用之后,hue布置workflow失败
原因:因为在开启hdfs高可用的时候,没用安装httpfs服务,httpfs实际上是一个代理服务,它部署在能够完全访问hdfs集群的网络内,在hdfs实现高可用之后,外界跟hdfs的交互,必须通过httpfs访问hdfs,
解决:需要安装httpfs来保证hue和hdfs ha的交互。
四、hue添加workflow的name和describe没法添加中文
解决:修改hue库中desktop_document和desktop_document2 中describe的编码 改为utf-8
五、cdh依赖的包:
chkconfig、python、bind-utils、psmisc、 libxslt、zlib、sqlite、cyrus-sasl-plain、cyrus-sasl-gssapi、fuse、 portmap(centos6之前叫portmap,6之后叫rpcbind)、fuse-libs、 redhat-lsb
六、cdh配置好之后运行sqoop失败
解决:cdh配置好之后 运行sqoop,首先去sqoop中添加mysql的驱动 包 也就是添加到/opt/cloudera/parcels/CDH- 5.10.1- 1.cdh5.10.1.p0.10/lib/sqoop/lib/中,然后再去oozie的hdfs目录中 导入mysql的驱动包,也就是添加到 /user/oozie/share/lib/lib_.../sqoop,然后重启集群,否则会找不到驱动包
七、在hue中执行shell脚本连接mysql数据库时会报mysql命令找不到的异常,把脚本放到服务器上去执行,报同样的错误
解决:因为执行mysql命令的时候会去找/usr/bin/mysql的命令,找不到就会报命令找不到的异常,此时cdh集群只有主节 点有mysql,其他节点都是系统自带的MariaDB的mysql数据库,此时只需要直接yum install mariadb-server -y,就可将mysql 命令加入到/usr/bin下中,再在hue中执行shell脚本,一切正常