首先确保JDK已正确安装并设置好环境变量

安装Zookeeper

到官网下载: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

zookeeper-3.4.11.tar.gz

这里下载到/usr/local/software

下载后解压

tar -xzf zookeeper-3.4..tar.gz

进入zookeeper/conf目录,把配置复制一份

cp zoo_sample.cfg zoo.cfg

修改配置

dataDir=/opt/data/zookeeper

设置zookeeper环境变量

Linux 添加环境变量

启动

zkServer.sh start

查看状态

zkServer.sh status

使用jps查看

zookeeper集群配置

分别在两台CentOS上按上面步骤下载解压,配置环境变量,这里假设Server1(192.168.31.147),Server2(192.168.31.146)

编辑上面的zoo.cfg,加上集群配置

server.=192.168.31.147::
server.=192.168.31.146::

2888端口表示该服务器与集群中的leader交换信息的端口,3888表示选举时服务器相互通信的端口,两台服务器防火墙打开这两个端口

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload

在主服务器(147)的/opt/data/zookeeper目录下新建一个myid文件,在里面存一个值1,zookeeper在启动时会读取myid文件中的值与zoo.cfg中的配置进行比较,以确定是哪台服务器

在从服务器(146)的/opt/data/zookeeper目录下同样建一个myid文件,存值为2

接下来分别运行再查看状态

147:

146:

这样集群配置就完成了。

安装kafka

官网下载:http://kafka.apache.org/downloads

kafka_2.11-1.1.0.tgz

同样下载到/usr/local/software目录

下载完后解压,修改安装目录下的/config/server.properties中zookeeper.connect配置

146配置,这里的broker.id与zookeeper的值一致

broker.id=
log.dirs=/opt/data/kafka-logs
zookeeper.connect=192.168.31.146:2181,192.168.31.147:2181

147配置

broker.id=
log.dirs=/opt/data/kafka-logs
zookeeper.connect=192.168.31.146:,192.168.31.147:

启动kafka

kafka-server-start.sh -daemon ../config/server.properties

使用jps查看

这里要注意,如果更改过broker.id的话,需要将原来生成的data删除,否则kafka会自动关闭,错误信息可以在kafka的安装目录下logs中server.log找到

两台服务器的zookeeper和kafka都启动后,在任意一台服务器上运行

zkCli.sh -server localhost:

进入控制台后执行

ls /brokers/ids

可以看到有两个节点信息,表示2台服务器kafka正常启动

查看brokers信息

可以看到brokerid为2的节点作为Leader控制器,此时我们kill掉brokerid=2的kafka进程

再查看会发现kafka集群选出另外一个节点作为leader控制器

关闭kafka节点

kafka-server-stop.sh

主题管理

创建主题

kafka-topics.sh --create --zookeeper 192.168.31.147:,192.168.31.146: --replication-factor  --partitions  --topic kafka-action

查看主题

为了方便,将IP添加到host中,然后使用如下脚本查看

kafka-topics.sh --list --zookeeper server-:,server-:

kafka-topics.sh --describe --zookeeper server-:,server-:

生产者

kafka-console-producer.sh --broker-list localhost: --topic kafka-action --property parse.key=true

启动一个生产者,同时指定启用消息的key配置,默认key与消息之间使用制表符分割,输入tab键,输入格式不对会报错

也可以自定义分隔符,比如空格

kafka-console-producer.sh --broker-list localhost: --topic kafka-action --property parse.key=true --perty key.separator=' '

使用以下命令验证消息是否发送成功

kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost: --topic kafka-action --time -

表示:主题名+分区编号+偏移量

如果开启了auto.create.topics.enable=true,生产者向一个不存在的topic发送消息时会自动创建一个

kafka-console-producer.sh --broker-list localhost: --topic producer-create-topic

控制台会提示主题不存在并创建一个

查看log目录

可以通过以下命令来查看消息

kafka-run-class.sh kafka.tools.DumpLogSegments --files /neworiental/logs/kafka-logs/producer-create-topic-/.log

消费者

kafka-console-consumer.sh --bootstrap-server localhost:  --consumer-property group.id=new-consumer-test --consumer-property client.id=new-consumer-c1 --topic kafka-action

先启动一个消费者,然后再按上文启动一个生产者,在生产者发消息,消费者接受消息

单播和多播

要实现单播,让多个消费者同属于一个消费组即可,属于不同的消费组即可实现多播

查看消费组

kafka-consumer-groups.sh --bootstrap-server localhost:  --list

查看消费偏移量

kafka-consumer-groups.sh --bootstrap-server localhost:  --describe --group new-consumer-test

安装kafka-manager

下载地址:https://github.com/yahoo/kafka-manager

下载后解压,在安装目录运行

./sbt clean dist

此过程相当耗时,编译完成后会在提示目录生成一个zip文件

将此文件解压到指定位置,编辑conf目录下的application.conf,修改zookeeper地址

kafka-manager.zkhosts="localhost:2181"

cd到bin目录,执行下面命令

./kafka-manager -Dconfig.file=../conf/application.conf

后台启动

nohup ./kafka-manager -Dconfig.file=../conf/application.conf >& &

默认监听9000端口

打开浏览器

默认进来是没有集群的,需要添加一个

其他选项默认即可

添加完成后可以看到

点击名字进去

点击Topic后面的数字进去

启动一个消费者

kafka-console-consumer.sh --bootstrap-server localhost:  --consumer-property group.id=new-consumer-test --consumer-property client.id=new-consumer-c1 --topic newtopic

在页面查看

CentOS 安装 kafka的更多相关文章

  1. Centos安装Kafka集群

    kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能 将消息分散到不同的节点上)MQ.在这片博文中,作者简单 ...

  2. 在CentOS 7上安装Kafka

    简介 Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区.多副本.冗余,因此被广泛用于大规模消息数据处理应用. ...

  3. Kafka安装之二 在CentOS 7上安装Kafka

    一.简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这 ...

  4. Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书

    伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...

  5. Centos7.5安装kafka集群

    Tags: kafka Centos7.5安装kafka集群 Centos7.5安装kafka集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 安装zookeeper 安装kafk ...

  6. centos7安装kafka 转

    CentOS7安装和使用kafka         环境准备 安装kafka之前我们需要做一些环境的准备 1.centOS7系统环境 2.jdk环境 3.可用的zookeeper集群服务 安装jdk ...

  7. centos安装服务参考博客,亲测可用

    centos 安装nginx参考 日志log报错 nginx -c /etc/nginx/nginx.conf https://blog.csdn.net/weixin_41004350/articl ...

  8. CentOS安装gitlab,gerrit,jenkins并配置ci流程

    CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...

  9. 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

随机推荐

  1. FortiGate下视频会议等语音相关配置

    关闭老的基于会话的alg机制(即删除session-helper中的SIP条目) config system session-helper delete 13  #删除sip end

  2. 451. Sort Characters By Frequency将单词中的字母按照从高频到低频的顺序输出

    [抄题]: Given a string, sort it in decreasing order based on the frequency of characters. Example 1: I ...

  3. Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...

  4. mysql解压缩版安装方法以及mysql无法启动1067错误

    https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html我下载的版本号是5.6.421.解压到C:\Program Files\M ...

  5. CSS 样式中的两个方法

    在很多时候,我们需要LI开头空一点距离.结尾不能再有下划线了.这个效果在以前是很难实现的.但是有了下面两个选择器,非常容易做出这种东西. .slideTxtBox .bd ul > :first ...

  6. python3+scrapy 趣头条爬虫实例

    项目简介 爬取趣头条新闻(http://home.qutoutiao.net/pages/home.html),具体内容: 1.列表页(json):标题,简介.封面图.来源.发布时间 2.详情页(ht ...

  7. CITROEN C8 BSI HC12 Mileage Correction with Digiprog3

    CITROEN C8 BSI HC12 odometer correction pinout to Digiprog III Digiprog 3 mileage programmer. The BS ...

  8. 文字创作类App分享-简书

    今天我用Mockplus做了一套简书App的原型,这是一款文字创作类的App,用户通过写文.点赞等互动行为,提高自己在社区的影响力,打造个人品牌.我运用了Mockplus基础组件.交互组件.移动组件等 ...

  9. HOOK NTFS 禁止格式化

    if(bHooked == FALSE) { RtlInitUnicodeString (&HookDriverName, L"\\FileSystem\\Ntfs"); ...

  10. PHP字符串截取函数

    substr函数 描述:实现截取字符串 语法:string substr(string $string,int $start [, int $length ]) 说明:如果省略length,则返回从s ...