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

Wesley13
• 阅读 445

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

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

系列文章链接

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

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

启动集群服务报错

  1. 首次启动集群服务报错,如下图: CDH5部署三部曲之三:问题总结

  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

  3. 点击页面上的重试按钮;

NFS Gateway启动失败

  1. 发现NFS Gateway服务有问题,检查日志: CDH5部署三部曲之三:问题总结

  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.

  3. 于是安装所需服务:

    yum install -y nfs-utils rpcbind

  4. 启动服务:

    systemctl start rpcbind

  5. 再次启动: CDH5部署三部曲之三:问题总结

  6. 等待HDFS服务重启完成后,如下图,可见NFS Gateway问题已经消失: CDH5部署三部曲之三:问题总结

HDFS副本不足的块

  1. 问题如下图绿框所示: CDH5部署三部曲之三:问题总结

  2. 目前只有一个datanode,可以增加一个,如下图,进入HDFS的实例页面,点击"添加角色实例": CDH5部署三部曲之三:问题总结

  3. 点击下图红框位置,增加一个DataNode: CDH5部署三部曲之三:问题总结

  4. 如下图,确保worker1和worker2都选上: CDH5部署三部曲之三:问题总结

  5. 勾选后,点击红框2中的按钮,在下拉菜单中点击“启动”: CDH5部署三部曲之三:问题总结

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

  7. 上述设置完成后,新写入hdfs的文件副本数为2,如果要将之前已经写入的文件的副本数也调整为2,请SSH登录worker1节点,执行以下命令切换到hdfs账号:

    su - hdfs

  8. 以hdfs账号的身份执行以下命令,即可完成副本数设置:

    hadoop fs -setrep -R 2 /

  9. 返回管理页面,可见HDFS的状态变成了健康: CDH5部署三部曲之三:问题总结

Hive报错

  1. 如下图红框所示,Hive启动失败,日志中提示Version information not found in metastore CDH5部署三部曲之三:问题总结
  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中的复选框取消勾选: CDH5部署三部曲之三:问题总结
  4. 修改配置datanucleus.autoCreateSchema,如下图,确保红框3中的复选框被选中: CDH5部署三部曲之三:问题总结
  5. 重启完成后,Hive状态为健康: CDH5部署三部曲之三:问题总结

spark-shell执行失败

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

Hue启动失败

  1. Hue启动失败如下图: CDH5部署三部曲之三:问题总结

  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

  3. 在网页上重启Hue服务,稍后可见服务已经正常: CDH5部署三部曲之三:问题总结

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

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

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界... https://github.com/zq2599/blog_demos

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
K8S的StorageClass实战(NFS)
欢迎访问我的GitHubhttps://github.com/zq2599/blog\_demos(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fzq2599%2Fblog_demos)内容:所有原创文章分类汇总及配套源码,涉及Java、Doc
Stella981 Stella981
2年前
CDH+Kylin三部曲之一:准备工作
欢迎访问我的GitHubhttps://github.com/zq2599/blog\_demos(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fzq2599%2Fblog_demos)内容:所有原创文章分类汇总及配套源码,涉及Java、Doc
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
2年前
Kubernetes官方java客户端之二:序列化和反序列化问题
欢迎访问我的GitHubhttps://github.com/zq2599/blog\_demos(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2Fzq2599%2Fblog_demos)内容:所有原创文章分类汇总及配套源码,涉及Java、Doc
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
4个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这