CDH与kafka整合的问题记录

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(直接采用下文的第二种方式似乎无效),详细说明参考这里

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值