Пример коллекторов из UserGuide от Cloudera не работает должным образом - PullRequest
0 голосов
/ 18 декабря 2011

Бит в Руководстве пользователя, который показывает, как настроить коллектор и записать в него http://archive.cloudera.com/cdh/3/flume/UserGuide/index.html#_tiering_flume_nodes_agents_and_collectors, имеет следующую конфигурацию:

host : console | agentSink("localhost",35853) ;
collector : collectorSource(35853) | console ;

Я изменил это на:

dataSource : console | agentSink("localhost") ;
dataCollector : collectorSource() | console ;

Я породил узлы как:

flume node_nowatch -n dataSource
flume node_nowatch -n dataCollector

Я пробовал это на двух системах:

  1. Демонстрационная виртуальная машина Cloudera, работающая внутри VirtualBox с 2 ГБ ОЗУ. Поставляется с Flume 0.9.4-cdh3u2

  2. Ubuntu LTS (Lucid) с пакетом debian и openJDK (за исключением установленных пакетов hadoop) в качестве виртуальной машины, работающей внутри VirtualBox с 2 ГБ ОЗУ Следуйте инструкциям здесь https://ccp.cloudera.com/display/CDHDOC/Flume+Installation#FlumeInstallation-InstallingtheFlumeRPMorDebianPackages

Вот что я сделал:

flume dump 'collectorSource()' приводит к

$ sudo netstat -anp | grep 35853
tcp6       0      0 :::35853                :::*                    LISTEN      3520/java
$ ps aux | grep java | grep 3520
1000      3520  0.8  2.3 1050508 44676 pts/0   Sl+  15:38   0:02 java -Dflume.log.dir=/usr/lib/flume/logs -Dflume.log.file=flume.log -Dflume.root.logger=INFO,console -Dzookeeper.root.logger=ERROR,console -Dwatchdog.root.logger=INFO,console -Djava.library.path=/usr/lib/flume/lib::/usr/lib/hadoop/lib/native/Linux-amd64-64 com.cloudera.flume.agent.FlumeNode -1 -s -n dump -c dump: collectorSource() | console;

Я предполагаю, что:

flume dump 'collectorSource()'

- это то же самое, что и запуск конфигурации:

dump : collectorSource() | console ;

и запуск узла с

flume node -1 -n dump -c "dump: collectorSource() | console;" -s 

dataSource : console | agentSink("localhost") ведет к

$ sudo netstat -anp | grep 35853
tcp6       0      0 :::35853                :::*                    LISTEN      3520/java       
tcp6       0      0 127.0.0.1:44878         127.0.0.1:35853         ESTABLISHED 3593/java       
tcp6       0      0 127.0.0.1:35853         127.0.0.1:44878         ESTABLISHED 3520/java 

$ ps aux | grep java | grep 3593
1000      3593  1.2  3.0 1130956 57644 pts/1   Sl+  15:41   0:07 java -Dflume.log.dir=/usr/lib/flume/logs -Dflume.log.file=flume.log -Dflume.root.logger=INFO,console -Dzookeeper.root.logger=ERROR,console -Dwatchdog.root.logger=INFO,console -Djava.library.path=/usr/lib/flume/lib::/usr/lib/hadoop/lib/native/Linux-amd64-64 com.cloudera.flume.agent.FlumeNode -n dataSource

Наблюдаемое поведение одинаково в обеих виртуальных машин VirtualBox:

Бесконечный поток этого в dataSource

2011-12-15 15:27:58,253 [Roll-TriggerThread-1] INFO
durability.NaiveFileWALManager: File lives in
/tmp/flume-cloudera/agent/dataSource/writing/20111215-152748172-0500.1116926245855.00000034
2011-12-15 15:27:58,253 [Roll-TriggerThread-1] INFO
hdfs.SeqfileEventSink: constructed new seqfile event sink:
file=/tmp/flume-cloudera/agent/dataSource/writing/20111215-152758253-0500.1127006668855.00000034
2011-12-15 15:27:58,254 [naive file wal consumer-35] INFO
durability.NaiveFileWALManager: opening log file
20111215-152748172-0500.1116926245855.00000034
2011-12-15 15:27:58,254 [Roll-TriggerThread-1] INFO
endtoend.AckListener$Empty: Empty Ack Listener began
20111215-152758253-0500.1127006668855.00000034
2011-12-15 15:27:58,256 [naive file wal consumer-35] INFO
agent.WALAckManager: Ack for
20111215-152748172-0500.1116926245855.00000034 is queued to be checked
2011-12-15 15:27:58,257 [naive file wal consumer-35] INFO
durability.WALSource: end of file NaiveFileWALManager
(dir=/tmp/flume-cloudera/agent/dataSource )
2011-12-15 15:28:07,874 [Heartbeat] INFO agent.WALAckManager:
Retransmitting 20111215-152657736-0500.1066489868855.00000034 after
being stale for 60048ms
2011-12-15 15:28:07,875 [naive file wal consumer-35] INFO
durability.NaiveFileWALManager: opening log file
20111215-152657736-0500.1066489868855.00000034
2011-12-15 15:28:07,877 [naive file wal consumer-35] INFO
agent.WALAckManager: Ack for
20111215-152657736-0500.1066489868855.00000034 is queued to be checked
2011-12-15 15:28:07,877 [naive file wal consumer-35] INFO
durability.WALSource: end of file NaiveFileWALManager
(dir=/tmp/flume-cloudera/agent/dataSource )
2011-12-15 15:28:08,335 [Roll-TriggerThread-1] INFO
hdfs.SeqfileEventSink: closed
/tmp/flume-cloudera/agent/dataSource/writing/20111215-152758253-0500.1127006668855.00000034
2011-12-15 15:28:08,335 [Roll-TriggerThread-1] INFO
endtoend.AckListener$Empty: Empty Ack Listener ended
20111215-152758253-0500.1127006668855.00000034

2011-12-15 15:28:08,335 [Roll-TriggerThread-1] INFO
durability.NaiveFileWALManager: File lives in
/tmp/flume-cloudera/agent/dataSource/writing/20111215-152758253-0500.1127006668855.00000034
2011-12-15 15:28:08,335 [Roll-TriggerThread-1] INFO
hdfs.SeqfileEventSink: constructed new seqfile event sink:
file=/tmp/flume-cloudera/agent/dataSource/writing/20111215-152808335-0500.1137089135855.00000034
2011-12-15 15:28:08,336 [naive file wal consumer-35] INFO
durability.NaiveFileWALManager: opening log file
20111215-152758253-0500.1127006668855.00000034
2011-12-15 15:28:08,337 [Roll-TriggerThread-1] INFO
endtoend.AckListener$Empty: Empty Ack Listener began
20111215-152808335-0500.1137089135855.00000034
2011-12-15 15:28:08,339 [naive file wal consumer-35] INFO
agent.WALAckManager: Ack for
20111215-152758253-0500.1127006668855.00000034 is queued to be checked
2011-12-15 15:28:08,339 [naive file wal consumer-35] INFO
durability.WALSource: end of file NaiveFileWALManager
(dir=/tmp/flume-cloudera/agent/dataSource )
2011-12-15 15:28:18,421 [Roll-TriggerThread-1] INFO
hdfs.SeqfileEventSink: closed
/tmp/flume-cloudera/agent/dataSource/writing/20111215-152808335-0500.1137089135855.00000034
2011-12-15 15:28:18,421 [Roll-TriggerThread-1] INFO
endtoend.AckListener$Empty: Empty Ack Listener ended
20111215-152808335-0500.1137089135855.00000034

..

2011-12-15 15:35:24,763 [Heartbeat] INFO agent.WALAckManager:
Retransmitting 20111215-152707823-0500.1076576334855.00000034 after
being stale for 60277ms
2011-12-15 15:35:24,763 [Heartbeat] INFO
durability.NaiveFileWALManager: Attempt to retry chunk
'20111215-152707823-0500.1076576334855.00000034'  in LOGGED state.
There is no need for state transition.

Бесконечный поток этого в dataCollector :

localhost [INFO Thu Dec 15 15:31:09 EST 2011] {
AckChecksum : (long)1323981059821  (string) ' 4Ck��' (double)6.54133557402E-312 } { AckTag : 20111215-153059819-0500.1308572847855.00000034 } { AckType : end }

Как мне заставить консоль <-> снова работать через консоль через коллекторы?

Ответы [ 2 ]

0 голосов
/ 23 февраля 2012
  • Перейдите в / usr / lib / flume / bin
  • переименуйте файл с именем: flume-env.sh.template в: flume-env.sh
  • добавить эту строку в конец файла: export UOPTS=-Djava.net.preferIPv4Stack=true
  • перезапустите свои экземпляры flume

=> вы будете слушать только адреса IP v4.

0 голосов
/ 18 января 2012

Я не совсем уверен, каково ваше ожидаемое поведение.

Но похоже, что вы можете привязываться только к интерфейсу IPv6.Я знаю, что в конфигурации Hadoop вам нужно обойти это:

# Ubuntu wants us to use IPv6. Hadoop doesn't support that, but nevertheless binds to :::50010. Let's tell it we don't agree.
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"

Возможно, вам понадобится похожая опция.Для начала, почему бы не задать имя хоста и номер порта явно, а затем отменить каждый из них по очереди?

...