zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    iot 表索引dump《2》
    heap表和iot表排序规则不同
    Cannot complete the install because one or more required items could not be found.
    iot表输出按主键列排序,heap表不是
    iot 表主键存放所有数据,且按数据插入顺序排序
    iot表和heap表排序规则不同
    org.eclipse.graphiti.ui.editor.DiagramEditorInput.
    Oracle 排序规则
    perl 异步超时 打印错误
    14.6.3 Grouping DML Operations with Transactions 组DML操作
  • 原文地址:https://www.cnblogs.com/subendong/p/7786547.html
Copyright © 2011-2022 走看看