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