我想使用Spark 2和Scala 2.11来使用来自RabbotMQ的消息。我找到了this library。另外,我使用:
在docker上安装了RabbitMQdocker pull rabbitmq
并启动了Docker容器:
docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3
但是,我不明白如何制作和使用消息。我希望这种方法与Kafka队列非常相似。但RabbotMQ需要更多参数,例如exchangeName
,exchangeType
,vHost
等。我应该从哪里获取这些参数?
在RabbitMQ的日志中,我看到以下信息:
Starting broker...
2018-01-23 15:18:40.633 [info] <0.183.0>
node : rabbit@my-rabbit
home dir : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.conf
cookie hash : WMiNo1v32m4elTFNfQ5yHA==
log(s) : <stdout>
database dir : /var/lib/rabbitmq/mnesia/rabbit@my-rabbit
我检查了/etc/rabbitmq/rabbitmq.conf
,但它是空的。
val receiverStream = RabbitMQUtils.createStream(ssc, Map(
"hosts" -> hosts,
"queueName" -> queueName,
"exchangeName" -> exchangeName,
"exchangeType" -> exchangeType,
"vHost" -> vHost,
"userName" -> userName,
"password" -> password
))
val totalEvents = ssc.sparkContext.longAccumulator("My Accumulator")
答案 0 :(得分:0)
查看以下类,其中包含可以为Rabbit设置的值。
org.apache.spark.streaming.rabbitmq.ConfigParameters