CentOS 安装 kafka
首先确保JDK已正确安装并设置好环境变量
安装Zookeeper
到官网下载: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
这里下载到/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
同样下载到/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的更多相关文章
- Centos安装Kafka集群
kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目.在它的主页描述kafka为一个高吞吐量的分布式(能 将消息分散到不同的节点上)MQ.在这片博文中,作者简单 ...
- 在CentOS 7上安装Kafka
简介 Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区.多副本.冗余,因此被广泛用于大规模消息数据处理应用. ...
- Kafka安装之二 在CentOS 7上安装Kafka
一.简介 Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这 ...
- Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...
- Centos7.5安装kafka集群
Tags: kafka Centos7.5安装kafka集群 Centos7.5安装kafka集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 安装zookeeper 安装kafk ...
- centos7安装kafka 转
CentOS7安装和使用kafka 环境准备 安装kafka之前我们需要做一些环境的准备 1.centOS7系统环境 2.jdk环境 3.可用的zookeeper集群服务 安装jdk ...
- centos安装服务参考博客,亲测可用
centos 安装nginx参考 日志log报错 nginx -c /etc/nginx/nginx.conf https://blog.csdn.net/weixin_41004350/articl ...
- CentOS安装gitlab,gerrit,jenkins并配置ci流程
CentOS安装gitlab,gerrit,jenkins并配置ci流程 By Wenbin juandx@163.com 2016/4/9 这是我参考了网上很多的文档,配置了这三个软件在一个机器上, ...
- 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...
随机推荐
- PHP多进程实例
PHP创建多进程需要使用到pcntl模块 在编译时加上--enable-pcntl打开进程控制支持,不是Unix类系统不支持此模块 php官网介绍http://php.net/manual/zh/bo ...
- 设计模式学习心得<建造者 Builder>
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 一个 Builder 类会一步一步构造最 ...
- python 用文本来提供输入信息的模板,不用每次都手动粘贴了
#下面这一段用一个txt来保存input的信息来模拟input.最后提交代码时候删除这一段即可. a9999=open('1.txt','r') def input(): return a9999.r ...
- PowerDesigner 缺省值 引号 问题
在使用PowerDesigner做为MySQL数据库建模的时候,总是有这样的问题,例如我需要一个字段 createTime 类型是 Timestamp,要求这个字段默认值为系统当前时间,于是我给这个字 ...
- JavaScript 高阶函数
高阶函数的英文叫Higher-order function ,什么是高阶函数呢>? JavaScript的函数其实都指向某个变量.既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接 ...
- ABP框架系列之五十:(Swagger-UI-集成)
Introduction From it's web site: "....with a Swagger-enabled API, you get interactive documenta ...
- Wordpress“固定链接”页面出现404原因及解决方法
编辑配置文件:/etc/apache2/apache2.conf(非常靠后的位置),将里面的AllowOverride选项由None设置为All. <Directory /> Option ...
- 启动 mysql 时报错
通过mysql -u用户名 -p密码 的命令连接 Mysql数据库时 报错 "can't connect to local mysql serverthrough socket'/var/ ...
- Latex命令
.tex代码中 | 在pdf文档中 空一行 代表回车,下一行空两格 // 代表回车,下一行顶格
- Log4Cpp的使用(转)
本文介绍如何使用Log4CPP. Log4Cpp介绍 Log4Cpp的Api接口可以在http://log4cpp.sourceforge.net/api/index.html中查询得到. Log4C ...