1.在CM中添加主机报JDK错误
手动在机器上安装oracle-jdk1.7+update64.然后在CM中选择不安装oracle-jdk即可.
2.HostMoinitor无法与server联系
查找了多方资料,依然没有找到问题.
/var/log/cloudera-scm-aget/下是日志文件
/var/run/cloudera-scm-aget/是运行时文件
最后从上面标黄色的地方感觉到是网络问题./etc/hosts和/etc/syscofing/network-scripte/ifcfg-eth0都没有问题,然后想到是route问题,但是route和节点上其它机器上是一样的.最后考虑到可能是DNS问题.
本机:
集群中其它机器:
发现了问题.声明bf.cn后,只在bf.cn域名中查找主机,
3.CM报"在 Cloudera Manager Server 主机上运行的嵌入式 PostgreSQL"
检查CM的配置:
但是CM的各个模式使用的均是mysql数据库,原因可能是以前用的postgreysql,后来改成mysql,但是CM还在继续监控pg,而且集群使用正常,这可能是一个CM的一个bug.
CM使用的pg数据库的配置:
pg数据目录:/var/lib/cloudera-scm-server-db
使用的mysql数据库的配置可以CM配置中看到.
4.CDH报ntp不同步
在CDH中,是用ntpdc -np来测试ntp服务的。在问题主机上执行
ntpdc -np
ntpdc: read: Connection refused
由于默认查询ipv6引起的,而问题主机上确实启了ipv6,对比其它机器,其它机器并没有启动ipv6。
监控关闭ipv6:
echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
问题解决
5. hivemetastore报canary错误。
这个是用于测试metastore的。
通过检查msyql数据库,发现库中没有表,说明metastore配置有问题。
后来检查是mysql驱动的问题,机器上是mysql-connector-bin.jar,但CDH只认mysql-connector.jar,因此将/usr/share/java下的mysql-connector-bin.jar改为mysql-connector.jar即可。
6.CDH组报找不到jar包
比如使用sqoop从oracle向hive抽数据,找不到oracle驱动,把驱动放在/var/lib/sqoop下即可。其它组件一样。
7.jdk导致任务出错
上网百度说是jdk版本问题:
CDH官网说要用ORACLE JDK,但这里却错误的安装了OPENJDK。替换成oracle JDK.
要确认程序用的是哪个JDK,在程序执行时:ps -ef|grep sqoop即可以看到:
/opt/jdk/bin/java确实是JDK1.8,应该没问题。
最后发现,运行sqoop的JDK和运行yarn hdfs等的JDK不同,其它的用的是/usr/java/jdk1.7.0_67-cloudera/bin/java。
解决办法,在CM中设置JAVA_HOME,然后重启集群。估计修改sqoop这个文件,加上JAVA_HOME应该也可以。。