Kafka节点连接到kafka的localhost实例但未连接到远程kafka服务器

时间:2016-11-11 16:51:58

标签: javascript node.js apache-kafka

我目前正在使用驱动程序kafka-node,这工作正常,当我在本地运行它但是当我尝试连接到外部kafka机器时,我确实从消耗的消息和队列中获取输出。 任何人都可以帮忙吗?

当我这样做时,我没有收到错误,代码只是挂在终端上而没有返回任何内容。 ctrl + c帮助我杀了这个。

请参阅下面的代码。 感谢

当我这样做时,我不

var kafka = require('kafka-node'),
    Consumer = kafka.Consumer,
    client = new kafka.Client('SOMEIP_ADRESS:9092'),
//    client = new kafka.Client('localhost:2181'),
    consumer = new Consumer(
        client,
        [
              { topic: 'catTopic', partition: 0 }
            //{ topic: 'dogTopic', partition: 0 }
        ],
        {
            autoCommit: false,
            fromBeginning: true

        }
    );
// how de we get the messages on the queue


// we only ac when we get messages
consumer.on('message', function (message) {
    console.log(message);
});

2 个答案:

答案 0 :(得分:1)

所以出于某种原因,这个问题出现在node-kafka,kafka-node和kafkaesque问题上,我不知道如何解决。

no-kafka与外界合作很好。

答案 1 :(得分:0)

var kafka = require('kafka-node');    
    var Producer = kafka.Producer,

        client=new kafka.KafkaClient({kafkaHost: serverip with port}),
        producer = new Producer(client);

    producer.on('ready', function () {
        return callback(null,producer);
    });

    producer.on('error', function (err) {
        return crashed(new Error(err), false);
    });
};

在要连接的远程系统中的kafka / config / server.properties中进行更改... 将此添加到行下

advertised.listeners=PLAINTEXT://<myActual IP address>:9092

这里请注意,“ ip是您的远程系统ip,而不是本地系统ip”

例如

advertised.listeners=PLAINTEXT://192.168.150.150:9092

192.168.150.150:9092是您正在连接的远程系统IP。