如何在Spark中设置RabbitMQ使用者

时间:2018-01-23 16:28:47

标签: scala apache-spark rabbitmq

我想使用Spark 2和Scala 2.11来使用来自RabbotMQ的消息。我找到了this library。另外,我使用:

在docker上安装了RabbitMQ
docker pull rabbitmq

并启动了Docker容器:

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3

但是,我不明白如何制作和使用消息。我希望这种方法与Kafka队列非常相似。但RabbotMQ需要更多参数,例如exchangeNameexchangeTypevHost等。我应该从哪里获取这些参数?

在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")

1 个答案:

答案 0 :(得分:0)

查看以下类,其中包含可以为Rabbit设置的值。

org.apache.spark.streaming.rabbitmq.ConfigParameters