后来我使用了CM5.13.3spark2kafka3.1.1解决了很多疑难杂症——bug解决方案

关于spark2生成部署失败

  • 首先我们需要找到此处日志目录,并不是/opt/cloudera-manager/cm-5.13.3/log。针对使用tar.gz包进行离线安装的目录,日志应该在:/opt/cloudera-manager/cm-5.13.3/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_-6842105649195360849/logs,因为我是在spark这一步进行部署客户端配置失败的时候出错的,所以就找的spark这一文件夹下的日志。如果是使用.bin包安装的,则有可能是在/var/run/cloudera-scm-agent/process/目录下。找到日志文件之后,

  • 你应该能在日志文件中找到:export JAVA_HOME=/usr/java/default、JAVA_HOME=/usr/java/default、Error: JAVA_HOME is not set and could not be found等关键词,

  • 所以明确了是jdk没有装好,为什么没装好,因为我的是使用tar.gz的jdk包安装的,没有往/usr/java中添加软链接,而这里默认是去/usr/java/default中找环境变量,才会报找不到java_home。

  • 安装jdk的方法:把jdk软连接到/usr/java/default首先查看是否有/usr/java目录,没有的话新建此目录:mkdir /usr/java。然后添加软连接到/usr/java/default,命令如下:ln -s /usr/local/java/latest/jdk1.8.0_191/ /usr/java/default
    为什么要添加软连接到/usr/java/default?这是因为有些软件,不会去找环境变量的java,而是找/usr/java下的,比如说cloudera manager在部署最后的spark时,一直报“上的客户端配置 (id=3) 已使用 1 退出,而预期值为 0”这个错误,其中一个原因就是访问java访问不到,参考:cloudera manager报错“客户端配置 (id=3) 已使用 1 退出,而预期值为 0”

  • 如果还是不行,但是又找不到相关错误,就该考虑是不是内存不足导致没法将配置部署到客户端了。

  • 编辑/etc/sudoers,在root后面添加如下内容:cloudera-scm ALL=(ALL)

oozie界面没有显示

  • 原因是oozie的/var/lib/oozie目录里缺少EXT的包

  • 点击Documentation链接里quickstart给出了解决方案

  • 其中特别需要注意的一点是Ext包必须是2.2版本的,高了或低了都不行

  • 把下载好的ext-2.2.zip拷贝到Oozie主机的/var/lib/oozie目录下

  • 运行命令unzip ext-2.2.zip解压

  • 然后重新启动整个集群,成功进入oozie的web界面

Hue Ooize Shell 提交 Sqoop 任务失败 job.splitmetainfo

错误信息:

Job init failed : org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.io.FileNotFoundException: File does not exist: hdfs://hadoop02:8020/user/hdfs/.staging/job_1516274414442_1286/job.splitmetainfo
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.createSplits(JobImpl.java:1585)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1449)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.transition(JobImpl.java:1407)
at org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl.handle(JobImpl.java:1001)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl.handle(JobImpl.java:138)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$JobEventDispatcher.handle(MRAppMaster.java:1366)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.serviceStart(MRAppMaster.java:1142)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster$5.run(MRAppMaster.java:1573)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1917)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1569)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1502)
Caused by: java.io.FileNotFoundException: File does not exist: hdfs://hadoop02:8020/user/hdfs/.staging/job_1516274414442_1286/job.splitmetainfo
at org.apache.hadoop.hdfs.DistributedFileSystem$20.doCall(DistributedFileSystem.java:1266)
at org.apache.hadoop.hdfs.DistributedFileSystem$20.doCall(DistributedFileSystem.java:1258)
at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1258)
at org.apache.hadoop.mapreduce.split.SplitMetaInfoReader.readSplitMetaInfo(SplitMetaInfoReader.java:51)
at org.apache.hadoop.mapreduce.v2.app.job.impl.JobImpl$InitTransition.createSplits(JobImpl.java:1580)

解决办法

在 workflow shell action 中添加以下属性:

hue oozie时区问题

  • Hue中配置
    由于我们都是通过hue对oozie进行配置,所以首先保证hue中time_zone为Asia/Shanghai

  • oozie-web控制台配置
    我们可以在oozie的web控制台setting选项中看到默认时区为GMT时区,
    而我们国内时区为东八区(GMT+8),将其修改为CST时区:

  • 修改oozie-server配置
    我们进入oozie配置页面,在oozie-site.xml的Oozie Server高级配置代码段(安全阀)中添加:

<property>
    <name>oozie.processing.timezone</name>
    <value>GMT+0800</value>
</property>

配置完需重启oozie!

  • 提交coordinator job时配置

php连接kafka 报1000的错

kafka
开启PLAIN
在CM管理平台
cluster–>kafka–>实例–>配置
搜索kafka.properties
添加:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://master.dffl.com:9092 ##每个节点的hostname


搜索hostname
添加:

master.dffl.com ##每个节点的hostname

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值