Потоковая передача данных из твиттера в поисках проблем анализа - PullRequest
0 голосов
/ 19 сентября 2018

Я использую официальную конфигурацию flume + spark, как указано в документации, но после регистрации на хосте и номере порта flume никогда не сможет успешно отправлять события.с другой стороны, свеча TID никогда не получает ничего больше, чем пропущенное.

Ниже моя конфигурация:

TwitterAgent1.sources = PublicStream2
TwitterAgent1.channels = fileCh2
TwitterAgent1.sinks = avrosink2
TwitterAgent1.sources.PublicStream2.type = com.cloudsigma.flume.twitter.TwitterSource
TwitterAgent1.sources.PublicStream2.channels = fileCh2
TwitterAgent1.sources.PublicStream2.consumerKey =
TwitterAgent1.sources.PublicStream2.consumerSecret =
TwitterAgent.sources.PublicStream2.accessToken =
TwitterAgent1.sources.PublicStream2.accessTokenSecret =
TwitterAgent1.sources.PublicStream2.keywords = some keywrds
#TwitterAgent1.sources.PublicStream2.locations = -,-
TwitterAgent1.sources.PublicStream2.language = en
TwitterAgent1.sources.PublicStream2.follow =,
TwitterAgent1.sinks.avrosink2.type = avro 
TwitterAgent1.sinks.avrosink2.batch-size = 1 
TwitterAgent1.sinks.avrosink2.hostname = 1x5.3x.3.1x2    -->  IP of host as i am in cluster
TwitterAgent1.sinks.avrosink2.port = 9988 
TwitterAgent1.sinks.avrosink2.channel = fileCh2
TwitterAgent1.channels.fileCh2.type = file
TwitterAgent1.channels.fileCh2.capacity = 10000
TwitterAgent1.channels.fileCh2.transactionCapacity = 10000

Код для pyspark:

try:
# create SparkContext on all CPUs available: in my case I have 4 CPUs on my laptop
conf = SparkConf().setAppName("tweeterAnalysis")
sc = ps.SparkContext(conf=conf)
sqlContext = SQLContext(sc)
print("Just created a SparkContext")
except ValueError:
warnings.warn("SparkContext already exists in this scope")

from pyspark.streaming import StreamingContext
ssc = StreamingContext(sc, 10)
flumeStream = FlumeUtils.createStream(ssc, "pa.pan.net", 41414)

ssc.start()
ssc.awaitTermination()

Ошибка: невозможнодоставить событие.Исключение следует.org.apache.flume.EventDeliveryException: не удалось отправить события в org.apache.flume.sink.AbstractRpcSink.process (AbstractRpcSink.java:389) в org.apache.flume.sink.DefaultSinkProcessor.process (DefaultSinkProcessor.java:67)в org.apache.flume.SinkRunner $ PollingRunner.run (SinkRunner.java:145) в java.lang.Thread.run (Thread.java:748) Причина: org.apache.flume.EventDeliveryException: NettyAvroRpcClient {host: pan01.panoulu.net, порт: 41414}: не удалось отправить пакет в org.apache.flume.api.NettyAvroRpcClient.appendBatch (NettyAvroRpcClient.java:314) в org.apache.flume.sink.AbstractRpcSink.process (AbstractRp:373) ... еще 3

Может ли кто-нибудь помочь?

...