1.kafka连接异常,报错信息如下:
19/05/12 22:44:08 INFO SimpleConsumer: Reconnect due to socket error: java.nio.channels.ClosedChannelException
19/05/12 22:44:08 INFO RecurringTimer: Stopped timer for JobGenerator after time 1557672248000
19/05/12 22:44:08 INFO SimpleConsumer: Reconnect due to socket error: java.nio.channels.ClosedChannelException
19/05/12 22:44:08 ERROR DirectKafkaInputDStream: ArrayBuffer(java.nio.channels.ClosedChannelException, org.apache.spark.SparkException: Couldn't find leader offsets for Set([apply-credit-loan,1]))
19/05/12 22:44:08 INFO SimpleConsumer: Reconnect due to socket error: java.nio.channels.ClosedChannelException
解决办法:因kafka集群不稳定,出现某个broker挂掉的,程序无法读取partion信息。因kafka上设置多副本的模式,即使一个broker挂掉其它也是可以用的。咨询了运维的同事,说是kafka集群不稳定,稍等片刻会自动恢复。而连接异常导致spark程序退出,所以暂时修改spark.streaming.kafka.maxRetries参数,将重试次数调大,待kafka集群自动恢复后,是否能解决此问题。
2.Ambari上启动DataNode节点时报错:
根据报错路径提示,去/var/lib/ambari-agent/data/errors-3612.txt下查看完整报错信息,发现是内存的原因导致
DataNode无法启动,3612.txt报错如下:
有根据提示去/var/log/hadoop/hdfs/hs_err_pid30892.log查看hdfs报错信息:
根据描述信息,应该是内存不足,使用free -m查看内存的情况,发现swap分区被占满,
1.解决办法释放swap参考分区:https://blog.csdn.net/u011665746/article/details/79957497
2.怕直接释放会有问题,测试环境上有很多没有使用的组件,停掉不用的组件,释放了内存,重启hdfs成功