首页
学习
活动
专区
圈层
工具
发布

CDH5部署三部曲之三:问题总结

本文是《CDH5部署三部曲》的终篇,前面两章完成了CDH5集群的部署和启动,本章将实战中遇到的问题做个总结,如果碰巧您也遇到过这些问题,希望本文能给您一些参考;

系列文章链接

  1. 《CDH5部署三部曲之一:准备工作》
  2. 《CDH5部署三部曲之二:部署和设置》
  3. 《CDH5部署三部曲之三:问题总结》

启动集群服务报错

  1. 首次启动集群服务报错,如下图:
  1. 上述错误一般是对应节点的/usr/java/default目录下没有JDK所致,假设已将JDK部署在/usr/lib/jvm/jdk1.8.0_191,那么只需执行以下命令建立软链接即可:
代码语言:javascript
复制
mkdir /usr/java &&ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
  1. 点击页面上的重试按钮;

NFS Gateway启动失败

  1. 发现NFS Gateway服务有问题,检查日志:
  1. 日志如下,在worker1节点上,portmap和rpcbind这两个服务不存在导致的:
代码语言:javascript
复制
No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
  1. 于是安装所需服务:
代码语言:javascript
复制
yum install -y nfs-utils rpcbind
  1. 启动服务:
代码语言:javascript
复制
systemctl start rpcbind
  1. 再次启动:
  1. 等待HDFS服务重启完成后,如下图,可见NFS Gateway问题已经消失:

HDFS副本不足的块

  1. 问题如下图绿框所示:
  1. 目前只有一个datanode,可以增加一个,如下图,进入HDFS的实例页面,点击"添加角色实例":
  1. 点击下图红框位置,增加一个DataNode:
  1. 如下图,确保worker1和worker2都选上:
  1. 勾选后,点击红框2中的按钮,在下拉菜单中点击“启动”:
  1. 现在有了两个DataNode,所以副本数可以设置为2,如下图红框所示,按照顺序找出参数进行设置,记得点击右下角的"保存更改"按钮:
  1. 上述设置完成后,新写入hdfs的文件副本数为2,如果要将之前已经写入的文件的副本数也调整为2,请SSH登录worker1节点,执行以下命令切换到hdfs账号:
代码语言:javascript
复制
su - hdfs
  1. 以hdfs账号的身份执行以下命令,即可完成副本数设置:
代码语言:javascript
复制
hadoop fs -setrep -R 2 /
  1. 返回管理页面,可见HDFS的状态变成了健康:

Hive报错

  1. 如下图红框所示,Hive启动失败,日志中提示Version information not found in metastore
  1. 从上图可见Hive服务在worker2上,于是SSH登录worker2,将/usr/share/java目录下的mysql-connector-java.jar文件复制到这个目录下:/opt/cloudera/parcels/CDH-5.7.6-1.cdh5.7.6.p0.6/lib/hive/lib/
  2. 在Hive的配置页面,搜索"hive.metastore.schema.verification",如下图,确保红框3中的复选框取消勾选:
  1. 修改配置datanucleus.autoCreateSchema,如下图,确保红框3中的复选框被选中:
  1. 重启完成后,Hive状态为健康:

spark-shell执行失败

  1. 在worker1或者worker2上执行spark-shell命令进入spark控制台时,会产生内存相关的错误,需要调整YARM相关的内存参数:
  1. 在YARN的配置页面,调整yarn.scheduler.maximum-allocation-mb和yarn.nodemanager.resource.memory-mb这两个参数的值,原有的值都是1G,现在都改成2G,如下图:
  1. 重启YARN;
  2. 重启Spark;
  3. 执行spark-shell命令之前,先执行命令su - hdfs切换到hdfs账号;
  4. 这次终于成功进入spark-shell交互模式:

Hue启动失败

  1. Hue启动失败如下图:
  1. 上述失败是由于文件夹、文件、httpd服务没有准备好导致的,执行以下命令修复此问题:
代码语言:javascript
复制
mkdir /var/log/hue-httpd/
chown hue:hue /var/log/hue-httpd/
cd /var/log/hue-httpd/
touch error_log
chown hue:hue /var/log/hue-httpd/error_log

yum install -y httpd mod_ssl cyrus-sasl-plain  cyrus-sasl-devel  cyrus-sasl-gssapi
  1. 在网页上重启Hue服务,稍后可见服务已经正常:

以上就是本次实战过程中遇到的所有问题和解决方法,至此《CDH5部署三部曲》全部完成,如果您正在部署CDH,希望此系列文章能给您一些参考。

下一篇
举报
领券