1.问题描述
在利用 flume 向 hdfs 上传文件时出现了;连接不上 hdfs 的情况
failed on connection exception: java.net.ConnectException: 拒绝连接
2.原因
flume配置flume-exec-hdfs.conf中的连接信息不对
a2.sinks.k2.hdfs.path = hdfs://hadoop05:9000/flume/%Y%m%d/%H
这个地址应该和hadoop配置中的 core-site.xml 中的端口号一致
-- cd到 hadoop的目录下
cd /opt/servers/hadoop-2.9.2/etc/hadoop/
-- 查看 core-site.xml, 集群配置的hdfs端口号是 8020 不是9000
- 解决
flume-exec-hdfs.conf中的hdfs的端口改为和 core-site.xml中的信息一样即可
a2.sinks.k2.hdfs.path = hdfs://hadoop05:8020/flume/%Y%m%d/%H
日志成功上传至hdfs
- 其他该类bug的诊断
成功连接后可以看到 lsof 命令下的8020端口是有进程的, 而9000端口是没有的
备注: 安装lsof
yum install lsof