• 转载 centos7安装kafka_2.11-1.0.0 新手入门(集群)


    系统环境

    1、操作系统:64位CentOS Linux release 7.2.1511 (Core)

    2、jdk版本:1.8.0_121

    3、zookeeper版本:zookeeper-3.4.9.tar.gz

    4、三台服务器:192.168.1.91; 192.168.1.92; 192.168.1.93;

    说明:确保zookeeper集群已经在上面三台服务器上部署成功。可参考之前的文章:centos7安装zookeeper3.4.9集群

    下载kafka

    访问网址:http://kafka.apache.org/

    左侧导航栏最下面有个Download按钮,点进去

    进入网址:http://kafka.apache.org/downloads

    我写这篇笔记的时候,官方建议下载 kafka_2.11-1.0.0.tgz,我们选择编译好的tar包,即上图中红色框框标记的。

    拷贝到centos系统

    首先还得说明一下,因为我们要做集群,所以每台服务器的配置基本一样,只需要在一台服务器上安装好kafka,然后利用scp命令,拷贝到其它两台服务器,最后修改下参数就行了。所以我只将tar包拷贝到192.168.1.91这台服务器,在这台机器安装好后,拷贝到另外两台机器。

    创建软件目录/soft,因为配置zookeeper时,已经创建了/soft目录,所以我们在这里不需要创建了

    将在windows系统下载好的tar包利用WinSCP工具拷贝到centos系统(192.168.1.91)的/soft目录

    解压kafka

    [root@localhost data]# cd /soft

    解压

    [root@localhost soft]# tar -zxvf kafka_2.11-1.0.0.tgz

    移动

    [root@localhost soft]# mv kafka_2.11-1.0.0 /usr/local/kafka

    配置kafka

    [root@localhost local]# cd /usr/local/kafka/config/

    [root@localhost config]# vi server.properties

    Kafka的配置信息就是在server.properties里面配置的

    找到下面两行代码并分别注释

    #broker.id=0

    #zookeeper.connect=localhost:2181

    在文件底部添加如下三个配置:

    broker.id=1

    zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

    listeners = PLAINTEXT://192.168.1.91:9092

    说明:如果是单机版的话,默认即可,我们什么都不需要改动。现在我们是要配置集群,所以需要配置一些参数

    1、broker.id:每台机器不能一样

    2、zookeeper.connect:因为我有3台zookeeper服务器,所以在这里zookeeper.connect设置为3台,必须全部加进去

    3、listeners:在配置集群的时候,必须设置,不然以后的操作会报找不到leader的错误

     WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id 40 : {test=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

    4、看好这一点,另外两台服务器,zookeeper.connect的配置跟这里的一样,但是broker.id和listeners不能一样

    拷贝kafka到另外两台服务器

    [root@localhost config]# scp -r /usr/local/kafka root@192.168.1.92:/usr/local/

    [root@localhost config]# scp -r /usr/local/kafka root@192.168.1.93:/usr/local/

    中间会要求输入目标机器的密码,按提示操作就行了,然后修改这两台服务器的broker.id和listeners,如下:

    192.168.1.92

    [root@localhost data]# cd /usr/local/kafka/config/

    [root@localhost config]# vi server.properties

    然后按Ctrl+D键,一直定位到文件最底部,修改broker.id和listeners:

    broker.id=2

    zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

    listeners = PLAINTEXT://192.168.1.92:9092

    192.168.1.93

    [root@localhost data]# cd /usr/local/kafka/config/

    [root@localhost config]# vi server.properties

    然后按Ctrl+D键,一直定位到文件最底部,修改broker.id和listeners:

    broker.id=3

    zookeeper.connect=192.168.1.91:2181,192.168.1.92:2181,192.168.1.93:2181

    listeners = PLAINTEXT://192.168.1.93:9092

    开启相关端口

    三台机器都要开启,kafka通信默认是通过9092端口,也就是我们上面配的listeners

    [root@localhost config]# firewall-cmd --zone=public --add-port=9092/tcp --permanent

    [root@localhost config]# firewall-cmd --reload

    启动zookeeper

    三台都要启动

    [root@localhost config]# /usr/local/zookeeper/bin/zkServer.sh start

    启动kafka,

    三台都要启动

    [root@localhost config]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

    jps命令检查是否启动成功

    [root@localhost config]# jps

    4352 Kafka

    4416 Jps

    4088 QuorumPeerMain

    表示启动成功

    创建topic

    [root@localhost ~]# cd /usr/local/kafka/

    [root@localhost kafka]# bin/kafka-topics.sh --create --zookeeper 192.168.1.91:2181 --replication-factor 1 --partitions 1 --topic test

    如果成功的话,会输出:Created topic "test".

    查看topic

    虽然在192.168.1.91上创建的topic,但是另外两台机器上也能看到

    到192.168.1.93客户端

    [root@localhost ~]# cd /usr/local/kafka/

    [root@localhost kafka]# bin/kafka-topics.sh --list --zookeeper 192.168.1.92:2181

    这里的IP可以是192.168.1.91、192.168.1.92、192.168.1.93中的任何一个,在三台服务器中的任何一台都可以看到

    我这里是在93机器上查看92的

    创建发布

    在192.168.1.91上创建

    [root@localhost kafka]# bin/kafka-console-producer.sh --broker-list 192.168.1.91:9092 --topic test

    你会看到:

    创建消费

    在192.168.1.92上消费

    [root@localhost kafka]# bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.92:9092 --topic test --from-beginning

    你会看到:

    好,至此大功告成

    参考网址

    参考地址:http://www.cnblogs.com/luotianshuai/p/5206662.html

    学习地址:http://orchome.com/kafka/index

    官网:http://kafka.apache.org/

    转自 https://www.cnblogs.com/subendong/p/7786547.html

    全文所写仅属于作者自身认知,如有错误,欢迎指出,没有解决到问题,请参考官方文档。
  • 相关阅读:
    大学生程序猿IT情书“2014爱的告白挑战赛”获奖名单及优秀情书展示系列之
    Codeforces 385C Bear and Prime Numbers
    CSU1659: Graph Center(最短路)
    新版ADT出现appcompat_v7的问题
    @IBDesignable和@IBInspectable
    FTP命令详解
    R语言屏幕输出
    R语言常用基础知识(入门)
    R语言数据类型转换
    使用建议(内部使用)
  • 原文地址:https://www.cnblogs.com/qiangshenqi/p/7850329.html
Copyright © 2020-2023  润新知