linux下启动kafka | 您所在的位置:网站首页 › kafka服务启动 › linux下启动kafka |
前记:墨迹了几天,仍是云里雾里。记录下kafka启动过程,适合傻瓜新手,想弄明白原理的请绕到官网查看文档。 1、首先下载从github上下载 源码。如果机器上装有Git,直接clone更好,省的再解压。 解压命令:tar -zxvf librdkafka-master.tgz 2、下载 lib库。然后解压。与源码置于同意文件夹下。两个版本二选一即可。 解压命令:tar -zxvf kafka_2.11-0.10.2.0.tgz 3、我放置源码的目录是:/opt/app/ets/etsalessrc/fy_kafka/librdkafka-master; lib文件放置目录为:/opt/app/ets/etsalessrc/fy_kafka/kafka_2.11-0.10.2.0 为了省事,直接用root账户办接下来的事情。键入命令:su - root,回车,输入root密码。 4、预备工作完事。开始编译源码。 先赋予权限:/opt/app/ets/etsalessrc目录下,命令:chmod 777 -R fy_kafka 进入目录:cd fy_kafka/librdkafka-master/ 编译和安装,依次命令: ./configure make make install 5、到此,源码处理结束。 进入目录:/opt/app/ets/etsalessrc/fy_kafka/kafka_2.11-0.10.2.0/config 修改文件server.properties,将34行首个字符 ‘#’ 号去掉 6、进入目录:/opt/app/ets/etsalessrc/kafka_2.11-0.10.2.0 依次执行:./bin/zookeeper-server-start.sh config/zookeeper.properties &,启动zookeeper(&是为了能退出命令行) ./bin/kafka-server-start.sh config/server.properties &,启动kafka 查看端口:netstat -tunlp|egrep "(2181|9092)" 或者单独查看9092端口:netstat -ant | grep 9092 查看服务启动情况:jps 新开的服务QuorumPeerMain是指zookeeper的进程。Kafka是指kafka的进程。 7、创建主题 XML2DIP: ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic XML2DIP 查看主题是否创建结果: ./bin/kafka-topics.sh --list --zookeeper localhost:2181 8、创建生产者: ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic XML2DIP 9、另开一个终端页面,创建消费者: ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic XML2DIP 10、生产者页面随意输入消息回车,可以看到消费者页面出现输入的消息。 注:消费者开启前,在生产者页面输入的消息,消费者页面不显示。若要查看所有消息,输入命令: ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic XML2DIP --from-beginning 关于kafka生产者和消费者的示例代码,在librdkafka里有示例。 1、C语言可参考代码:https://blog.csdn.net/lijinqi1987/article/details/76582067/,写的挺不错的 在运行my_producer或my_consumer时可能会报错"error while loading shared libraries xxx.so", 这是因为make的时候将librdkafak.so.1放在了/usr/local/lib下,在Linux的默认共享库路径/lib和/usr/lib下找不到,只要执行下面两句就可以了: echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig 因为我建的topic名字是XML2DIP,所以生产者启动命令是:./my_producer localhost:9092 XML2DIP 消费者启动命令是:./my_consumer localhost:9092 XML2DIP 2、C++可参考代码:https://blog.csdn.net/jfu22/article/details/78194015。 我将这里面提供的几个代码文件放在目录/opt/app/ets/etsalessrc/fy_kafka/kafka_inter下进行编译,凡是提示错误的直接注释(因为是输出字符串的代码,注释无影响。另外头文件引用路径改成自己的路径;接口改为“localhost:9092”,topic改为XML2DIP)。 编译命令为:g++ KafkaProducer.cpp Producer.cpp -o Producer -lrdkafka -lz -lpthread -lrt 执行前先开启XML2DIP的topic。执行命令:./Producer。然后在消费者上面就可以看到代码里写入的字符串了。 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |