zoukankan      html  css  js  c++  java
  • CDH5部署三部曲之三:问题总结

    欢迎访问我的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-mbyarn.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

  • 相关阅读:
    [HTML5] document.hidden
    在vue页面中设置resize事件
    document之ES6解构
    vue中mixins的使用方法和注意点---mixins第二篇(异步请求的情况)
    vue中mixins的使用方法和注意点---mixins第一篇
    vue中路由重定向redirect
    如何理解dispatch( 'tagsView/delAllViews',null,{root:true} )里面的root:true
    vue计算属性computed中的get和set的使用
    splice(0)的奇妙用法
    4月5日学习日志
  • 原文地址:https://www.cnblogs.com/bolingcavalry/p/13818455.html
Copyright © 2011-2022 走看看