У меня есть два беговых контейнера для дымохода и хаоса. Пусть это будет hadoop2 и flume2. Я создал эти два контейнера из двух изображений: hadoop_alone и flume_alone.Соединение не установлено
docker run -d -p 10.236.173.XX:8020:8020 -p 10.236.173.XX:50030:50030 -p 10.236.173.XX:50060:50060 -p 10.236.173.XX:50070:50070 -p 10.236.173.XX:50075:50075 -p 10.236.173.XX:50090:50090 -p 10.236.173.XX:50105:50105 --name hadoopservices hadoop_alone
Я попал в контейнер для хранения и проверил открытые порты. Таким образом, все порты отображаются правильно.
docker run -d --name flumeservices -p 0.0.0.0:5140:5140 -p 0.0.0.0:44444:44444 --link hadoopservices:hadoopservices flume_alone
я в лотковой емкости и проверены на env
и etc/hosts
записей. Существует запись для hadoopservices и переменные env
создаются автоматически.
Мои core-site.xml
fs.defaultFS
hdfs://0.0.0.0:8020
Я изменил его так будет принимать услуги на 8020 из всех контейнеров.
Мой источник и тонуть в flume.conf
a2.sources.r1.type = netcat
a2.sources.r1.bind = localhost
a2.sources.r1.port = 5140
a2.sinks.k1.type = hdfs
a2.sinks.k1.hdfs.fileType = DataStream
a2.sinks.k1.hdfs.writeFormat = Text
a2.sinks.k1.hdfs.path = hdfs://hadoopservices:8020/user/root/syslog/%y-%m-%d/%H%M/%S
a2.sinks.k1.hdfs.filePrefix = events
a2.sinks.k1.hdfs.roundUnit = minute
a2.sinks.k1.hdfs.useLocalTimeStamp = true
Я перезагрузил Hadoop NameNode после изменения core-site.xml
.
Я стараюсь писать в HDFS с лотком с помощью
/usr/bin/flume-ng agent --conf-file /etc/flume-ng/conf/flume.conf --name a2 -Dflume.root.logger=INFO,console
Это говорит
INFO hdfs.DFSClient: Exception in createBlockOutputStream
java.net.ConnectException: Соединение отклонено
Так что я нашел что-то проблема с подключением установленных между этими двумя участниками. Я получаю в Hadoop контейнер и проверены на порт соединения
netstat -tna
tcp 0 0 127.0.0.1:52521 127.0.0.1:8020 TIME_WAIT
tcp 0 0 127.0.0.1:8020 127.0.0.1:52516 ESTABLISHED
tcp 0 0 127.0.0.1:52516 127.0.0.1:8020 ESTABLISHED
Но я ожидаю, что это будет
tcp 0 0 172.17.1.XX:54342 172.17.1.XX:8020 TIME_WAIT
tcp 0 0 172.17.1.XX:54332 172.17.1.XX:8020 ESTABLISHED
tcp 0 0 172.17.1.XX:8020 172.17.1.XX:54332 ESTABLISHED
Где 172.17.1.XX является IP моего Hadoop контейнера.
Я нашел причину. Это причина?
Какую конфигурацию необходимо изменить? И или мое заявление о запуске? Что нужно изменить, чтобы установить соединение между этими двумя контейнерами докеров, чтобы я мог писать в hdfs из лотка.
Если вам нужна дополнительная информация, я отредактирую ее дальше.
Пожалуйста, расскажите мне несколько идей.