欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

系列文章链接

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

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

启动集群服务报错

  1. 首次启动集群服务报错,如下图:

  2. 上述错误一般是对应节点的/usr/java/default目录下没有JDK所致,假设已将JDK部署在/usr/lib/jvm/jdk1.8.0_191,那么只需执行以下命令建立软链接即可:
mkdir /usr/java &&ln -s /usr/lib/jvm/jdk1.8.0_191 /usr/java/default
  1. 点击页面上的重试按钮;

NFS Gateway启动失败

  1. 发现NFS Gateway服务有问题,检查日志:

  2. 日志如下,在worker1节点上,portmap和rpcbind这两个服务不存在导致的:
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. 于是安装所需服务:
yum install -y nfs-utils rpcbind
  1. 启动服务:
systemctl start rpcbind
  1. 再次启动:

  2. 等待HDFS服务重启完成后,如下图,可见NFS Gateway问题已经消失:

HDFS副本不足的块

  1. 问题如下图绿框所示:

  2. 目前只有一个datanode,可以增加一个,如下图,进入HDFS的实例页面,点击"添加角色实例":

  3. 点击下图红框位置,增加一个DataNode:

  4. 如下图,确保worker1和worker2都选上:

  5. 勾选后,点击红框2中的按钮,在下拉菜单中点击“启动”:

  6. 现在有了两个DataNode,所以副本数可以设置为2,如下图红框所示,按照顺序找出参数进行设置,记得点击右下角的"保存更改"按钮:

  7. 上述设置完成后,新写入hdfs的文件副本数为2,如果要将之前已经写入的文件的副本数也调整为2,请SSH登录worker1节点,执行以下命令切换到hdfs账号:
su - hdfs
  1. 以hdfs账号的身份执行以下命令,即可完成副本数设置:
hadoop fs -setrep -R 2 /
  1. 返回管理页面,可见HDFS的状态变成了健康:

Hive报错

  1. 如下图红框所示,Hive启动失败,日志中提示Version information not found in metastore

  2. 从上图可见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/
  3. 在Hive的配置页面,搜索"hive.metastore.schema.verification",如下图,确保红框3中的复选框取消勾选:

  4. 修改配置datanucleus.autoCreateSchema,如下图,确保红框3中的复选框被选中:

  5. 重启完成后,Hive状态为健康:

spark-shell执行失败

  1. 在worker1或者worker2上执行spark-shell命令进入spark控制台时,会产生内存相关的错误,需要调整YARM相关的内存参数:

  2. 在YARN的配置页面,调整yarn.scheduler.maximum-allocation-mb和yarn.nodemanager.resource.memory-mb这两个参数的值,原有的值都是1G,现在都改成2G,如下图:

  3. 重启YARN;
  4. 重启Spark;
  5. 执行spark-shell命令之前,先执行命令su - hdfs切换到hdfs账号;
  6. 这次终于成功进入spark-shell交互模式:

Hue启动失败

  1. Hue启动失败如下图:

  2. 上述失败是由于文件夹、文件、httpd服务没有准备好导致的,执行以下命令修复此问题:
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,希望此系列文章能给您一些参考。

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...

https://github.com/zq2599/blog_demos

CDH5部署三部曲之三:问题总结的更多相关文章

  1. CDH5部署三部曲之一:准备工作

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. CDH5部署三部曲之二:部署和设置

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. Docker下实战zabbix三部曲之三:自定义监控项

    通过上一章<Docker下实战zabbix三部曲之二:监控其他机器>的实战,我们了解了对机器的监控是通过在机器上安装zabbix agent来完成的,zabbix agent连接上zabb ...

  4. Flink on Yarn三部曲之三:提交Flink任务

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Flink的DataSource三部曲之三:自定义

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. SQL Server 2008 数据库镜像部署实例之三 配置见证服务器

    SQL Server 2008 数据库镜像部署实例之三 配置见证服务器 前面已经完成了镜像数据库的配置,并进行那个了故障转移测试.接下来将部署见证服务器,实现自动故障转移. 一.关于见证服务器 1.若 ...

  7. kubernetes下的Nginx加Tomcat三部曲之三:实战扩容和升级

    本章是<kubernetes下的Nginx加Tomcat三部曲系列>的终篇,今天咱们一起在kubernetes环境对下图中tomcat的数量进行调整,再修改tomcat中web工程的源码, ...

  8. Docker搭建disconf环境,三部曲之三:细说搭建过程

    Docker下的disconf实战全文链接 <Docker搭建disconf环境,三部曲之一:极速搭建disconf>: <Docker搭建disconf环境,三部曲之二:本地快速构 ...

  9. CoProcessFunction实战三部曲之三:定时器和侧输出

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. 动态路由 - OSPF 一文详解

    动态路由 在之前的文章中,介绍了基于距离矢量的路由协议.而在今天这这一部分中会主要讲解链路状态的路由协议,对于动态的路由协议来说,需要具备如下的能力: 发现远端网络 路由器可以直接获得直连路由,这是由 ...

  2. (Python)正则表达式进行匹配

    import os import re pattern=re.compile(r'(\d{4})-(\d{2})-(\d{2})-b(\d{3})') // 要匹配的目录格式 for root,dir ...

  3. 关于Vue-Router的那些事儿

    Vue-Router Vu-router是Vue.js的官方路由管理器,方便于构建页面,在我们的使用过程中,一般是在router的index.js文件中配置对应的组件和对应的路径 主要的功能 嵌套路由 ...

  4. console线和RJ45

    123 前言 一直以为console口和RJ45是同一种接口,but后来我发现我错了~ RJ45 先介绍一下RJ45吧 什么是RJ45? RJ45是一种接口 我们家用的网线的接口 其实就是RJ45 r ...

  5. 如何用canvas拍出 jDer's工作照

    背景 在京东,就职满五年的老员工被称作"大佬",如果满了十年,那就要被称之为"超级大佬"了. 从 2016 年 5 月 19 日开始,每一年的这一天都被定为京东 ...

  6. 自定义AQS独占模式下的同步器来实现独享锁

    自定义AQS独占模式下的同步器来实现独享锁 /** * 自定义AQS独占模式下的同步器来实现独享锁 */ public class Mutex implements Lock, java.io.Ser ...

  7. %s 表示格式化一个对象为字符

    比如: name=“good” print('%s'%name)会打印出good print('%3s'%name)  会打印出good,当%和s之间的数字,小于字符串长度时,实际打印出字符串的长度 ...

  8. zepto | 用事件委托去解决无法给新增添的DOM添加事件的问题

    前段时间在做一个任务的时候,碰见了一个问题:zepto无法用on事件去监听新增加的dom事件.这个问题用live可解决, 但是live在ios下失效,为了解决这个问题,我采用了暴力的方法去解决,每次添 ...

  9. spring boot 源码之SpringBootExceptionReporter

    SpringBootExceptionReporter 用户自定义异常处理回调接口. public interface SpringBootExceptionReporter { boolean re ...

  10. 微信小程序直播接入

    申请开通小程序直播 1.申请小程序直播有以下几个硬性指标: 1. 满足小程序18个开放类目 2. 主体下小程序近半年没有严重违规 3. 小程序近90天内有过支付行为 4. 主体下公众号累计粉丝数大于1 ...