CDH与kafka整合的问题记录

导读:本篇文章讲解 CDH与kafka整合的问题记录,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

CDH 版本:CDH-5.15.0

Spark 版本:SPARK2-2.3.0.cloudera3

OS: centos 6.2

针对CDH的安装以及与kafka的整合遇到的问题进行记录

问题记录

  • 使用 systemctl start cloudera-scm-server 启动时没有反应,也没有生成日志

    使用 service cloudera-scm-server start 才行,原因不明

  • 已经上传离线的 parcel 文件,但服务端无法识别,仍然从网络下载

    每个 parcel 文件都对应一个验证文件,直接下载后验证文件的后缀是 sha1,需要修改成 sha 才会被识别

  • 在节点服务器上找不到 hadoop,hdfs 等命令

    参考这里的解决方案

  • hdfs 的 namenode 无法启动

    先检测 dfs.name.dir 等几个目录是否设置正确,具备相应的权限;不行就删除目录中的所有文件,重新执行 hadoop namenode -format;如果没有相应的权限,给 hdfs 授予对应的目录权限

  • hive 的 metaserver 无法启动

    如果是因为 Version information not found in metastore,将 hive 配置中的 hive.metastore.schema.verification 修改为 false 即可;如果没有自动建立 meta 表,将属性 datanucleus.autoCreateSchema 设置为 true,然后重启 hivemeta-server

  • 将 dfs.permissions 设置成 false 以后,访问 HDFS 仍然会有权限不足的情况

    将 dfs.umaskmode 设置成 000,这样新建的文件默认的权限就是 777

  • Impala 的查询参数只能是 session 中生效,必须每查询一次就设置一次

    也可以直接在 cm 的管理台上设置,就在 impala->配置->Impala Daemon->查询选项高级配置代码段(安全阀)添加相应的项目即可,eg:PARQUET_FALLBACK_SCHEMA_RESOLUTION=NAME;这样设置后对于所有的查询都是生效的

  • Kafka 服务无法启动,报 OOM

    检查 Kafka 服务的 JVM 内存设置,默认的内存很少,需要手动调大

  • 客户端无法正常消费消息(发送消息正常,消费时 debug 日志循环出现 Coordinator discovery failed, refreshing metadata)

    kafka 实际的 broker 数量和配置 offsets.topic.replication.factor 不一致造成的

  • 使用 spark structed stream 的 kafka integration 时报错,java.lang.NoSuchMethodError: org.apache.kafka.clients.consumer.KafkaConsumer.subscribe(Ljava/util/Collection;)

    是由于 kafka client 版本与 spark-sql-kafka-0-10_2.11 要求的客户端版本不匹配,CDH 的 spark2 似乎会在 classpath 中自动加入 kafka client 的依赖(默认版本是 0.9,实际需要的版本是 0.10)解决方式是在 spark job server 的启动脚本中加入 export SPARK_KAFKA_VERSION=0.10(直接采用下文的第二种方式似乎无效),详细说明参考这里

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15731.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!