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/
centos7安装kafka_2.11-1.0.0 新手入门的更多相关文章
- centos7安装kafka_2.11
1.下载 官网地址:http://kafka.apache.org/downloads.html 下载:wget https://www.apache.org/dyn/closer.cgi?path= ...
- Centos7安装Kubernetes k8s v1.16.0 国内环境
一. 为什么是k8s v1.16.0? 最新版的v1.16.2试过了,一直无法安装完成,安装到kubeadm init那一步执行后,报了很多错,如:node xxx not found等.centos ...
- Centos7安装rabbitmq server 3.6.0
###假设所有操作在opt目录下进行 cd /opt mkdir apps cd apps ### 下载 RabbitMQ Server wget http://www.rabbitmq.com/re ...
- Centos7安装Mono(以4.6.0)为例
本文记录mono安装的必须步骤,由于只是一个记录因此操作系统及mono版本都以当前环境为准. 1:环境依赖 操作系统为CentOS7.0,先安装mono依赖的各种组件: yum -y install ...
- 腾讯云下的CentOS7 安装最新版Python3.7.0
第一步下载Python3.7.0 刚开始我是在windows上下载之后 传到FTP服务器上的 后来发现使用以下命令可以更快捷地下载到服务器 * wget https://www.python.org ...
- 《转》CentOS7 安装MongoDB 3.0server (3.0的优势)
1.下载&安装 MongoDB 3.0 正式版本号公布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活并且易于管理的数据库管理系统.MongoDB宣称.3.0新版本号 ...
- Centos7安装percona-xtrabackup2.4和8.0版本
Percona XtraBackup是一个基于MySQL的服务器的开源热备份实用程序 ,它不会在备份期间锁定您的数据库.无论是24x7高负载服务器还是低事务量环境,Percona XtraBackup ...
- CentOS7安装搭建.Net Core 2.0环境-详细步骤
一.构建.Net core 2的应用程web发布 因为是用来测试centos上的core 环境,先直接用vs17自带的core实例. 二.部署CentOS7的core环境 1.连接并启动之前安装的虚拟 ...
- CentOS7 安装Postgresql 11+ 源码编译安装Postgis-2.5.2
####安装Postgresql-11yum install zlib-devel gcc makegroupadd postgresuseradd -g postgres postgrespassw ...
随机推荐
- Flask小demo---代码统计系统
功能要求: 管理员登录 # 第一天 班级管理 # 第一天 学生管理 # 第一天 学生登录 上传代码(zip文件和.py文件) 查看个人提交记录列表 highchar统计 学生列表上方使用柱状图展示现班 ...
- Jenkins+Ant+TestNG+Testlink自动化构建集成
这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ...
- Vim 编辑文件时,突然断开链接
centos 系统 编辑文本 突然退出 ,恢复文档操作: 有道笔记链接地址
- 获取矩形局域的方法,Rect、Bounds、Point
获取一个点和矩形区域的方法如下: var R: TRect; procedure TForm5.FormCreate(Sender: TObject); begin RadioGroup1.Items ...
- 修饰符(动态String数组篇)--- 常用 解除疑问。
1.无修饰符----是直接传基本类型的地址过来,并没有把基本类型的指针复制一份入栈,所以一旦修改就是修改原来的值. 2.const 修饰符 与 无修饰符一致. 3.var修饰符 与 上一致. 4.ou ...
- sql server 2005/2008R2 报“红叉”错,即“不允许所请求的注册表访问权”的错误
一.使用报错展示: 1.红叉错: 2.报错文字信息: 解决办法:可以鼠标右键,以管理员的身份运行即可,但这治标不治本,按如下方法可以彻底解决:把“以管理员身份运行此程序”勾上,即可
- 关于更新SQLserver统计信息的存储过程
1.建立t_mon_table_stat 用于存过需要更新统计信息的表 2.查找需要更新统计信息的表 insert into t_mon_table_stat SELECT DISTINCT SP.r ...
- 整理一下关于Crypto加密的坑
之前写接口一般不用加密(做了权限处理),最近公司要求接口加密,我开始了入坑之路 因为公司其他人用的AES和DES加密,我就在网上查了下关于这方面的使用方法. 首先安装Crypto pip instal ...
- Oracle学习笔记:11g服务介绍及哪些服务必须开启?
由于工作环境中oracle版本为10g,不支持行转列函数pivot,特在自己电脑上安装了oracle 11g,但因为不经常使用,便把服务自动启动给关闭了,只在需要使用时手动启动,因此记录一下需要启动的 ...
- Struts 2 - Architecture
From a high level, Struts2 is a pull-MVC (or MVC2) framework. The Model-View-Controller pattern in S ...