Kafka详细教程:下载、安装、配置与集群部署

1、下载

[root@node1 ~]# wget http://mirror.bit.edu.cn/apache/kafka/0.11.0.1/kafka_2.11-0.11.0.1.tgz
--2017-10-28 09:16:07--  http://mirror.bit.edu.cn/apache/kafka/0.11.0.1/kafka_2.11-0.11.0.1.tgz
Resolving mirror.bit.edu.cn (mirror.bit.edu.cn)... 202.204.80.77, 2001:da8:204:2001:250:56ff:fea1:22
Connecting to mirror.bit.edu.cn (mirror.bit.edu.cn)|202.204.80.77|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 42031343 (40M) [application/octet-stream]
Saving to: ‘kafka_2.11-0.11.0.1.tgz’

100%[==============================================================================================>] 42,031,343  1.11MB/s   in 33s    

2017-10-28 09:16:40 (1.22 MB/s) - ‘kafka_2.11-0.11.0.1.tgz’ saved [42031343/42031343]

[root@node1 ~]# 

2、安装

(1)解压缩

[root@node1 ~]# tar -zxvf kafka_2.11-0.11.0.1.tgz -C /opt

(2)进入根目录

[root@node1 ~]# cd /opt/kafka_2.11-0.11.0.1
[root@node1 kafka_2.11-0.11.0.1]# ls
bin  config  libs  LICENSE  NOTICE  site-docs
[root@node1 kafka_2.11-0.11.0.1]# 

Kafka目录介绍 - /bin 操作kafka的可执行脚本,还包含windows下脚本 - /config 配置文件所在目录 - /libs 依赖库目录 - /logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller

3、配置

(1)统一修改配置文件

[root@node1 kafka_2.11-0.11.0.1]# vi config/server.properties
  • brokerID唯一标示,集群中不能有重复的ID
# The id of the broker. This must be set to a unique integer for each broker.
broker.id=1
  • 打开监听

listeners=PLAINTEXT://:9092

  • 修改日志目录

log.dirs=/var/log/kafka-logs

  • 修改 zookeeper.connect

zookeeper.connect=node1:2181,node2:2181,node3:2181

4、分发

(1)分发软件包

[root@node1 ~]# scp -r /opt/kafka_2.11-0.11.0.1/ node2:/opt
[root@node1 ~]# scp -r /opt/kafka_2.11-0.11.0.1/ node3:/opt

(2)修改node2 的配置

[root@node2 ~]# vi /opt/kafka_2.11-0.11.0.1/config/server.properties

修改内容

broker.id=2

(3)修改node3 的配置

[root@node3 ~]# vi /opt/kafka_2.11-0.11.0.1/config/server.properties

修改内容

broker.id=3

5、启动kafka

(1)先将zookeeper集群启动 (2)再启动kafka 启动node1

[root@node1 kafka_2.11-0.11.0.1]# bin/kafka-server-start.sh config/server.properties &
[1] 2576
[root@node1 kafka_2.11-0.11.0.1]# 

启动node2

[root@node2 kafka_2.11-0.11.0.1]# bin/kafka-server-start.sh config/server.properties &
[1] 2526
[root@node2 kafka_2.11-0.11.0.1]# 

启动node3

[root@node3 kafka_2.11-0.11.0.1]# bin/kafka-server-start.sh config/server.properties &
[1] 7650
[root@node3 kafka_2.11-0.11.0.1]# 

(3)查看进程

[root@node1 kafka_2.11-0.11.0.1]# jps
2576 Kafka
2551 QuorumPeerMain
2874 Jps
[root@node1 kafka_2.11-0.11.0.1]# 
[root@node2 kafka_2.11-0.11.0.1]# jps
2499 QuorumPeerMain
2821 Jps
2526 Kafka
[root@node2 kafka_2.11-0.11.0.1]# 
[root@node3 kafka_2.11-0.11.0.1]# jps
7617 QuorumPeerMain
7650 Kafka
7945 Jps
[root@node3 kafka_2.11-0.11.0.1]# 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏王小雷

Docker网络管理机制实例解析+创建自己Docker网络

实例解析Docker网络管理机制(bridge network,overlay network),介绍Docker默认的网络方式,并创建自己的网络桥接方式,将开...

2249
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Stunnel加密流量到Redis

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅消息传递模式以及其他功能之间的自动故障转移功能。Redis...

724
来自专栏偏前端工程师的驿站

Java魔法堂:JVM的运行模式

一、前言                                 JVM有Client和Server两种运行模式。不同的模式对应不同的应用场景,而JVM...

1625
来自专栏Java架构师历程

CentOS7下RabbitMQ服务安装配置

RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erla...

1023
来自专栏云计算教程系列

如何在Ubuntu 16.04上配置Redis复制

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅消息传递模式以及其他功能之间的自动故障转移功能。Redis...

830
来自专栏码匠的流水账

命令行一键切换java版本的几种方式

java现在版本发布相对以前比较频繁了,java9还没来得及用,java10就出来了,2018年9月份java11也要来了,于是就有需求在笔记本电脑上装多个版本...

551
来自专栏python3

redis主从

环境介绍 master 192.168.1.28 centos 6.4 x64位系统 slave  192.168.1.80 centos 6.4 x64位系统...

502
来自专栏云计算教程系列

如何使用Spiped在Ubuntu 16.04上加密到Redis的流量

Redis是一个开源键值数据存储,使用内存存储模型和可选的磁盘写入来实现持久性。它具有事务,发布/订阅消息传递模式以及其他功能之间的自动故障转移功能。Redis...

400
来自专栏Java修行之道

ubuntu使用nginx+tomcat抵御慢速连接攻击

如果安装提示“E: Unable to locate package nginx”,那么输入命令:apt-get update,然后回车就好了

812
来自专栏软件工程师成长笔记

Linux下开启FTP的21端口

这几天一直在学习在CentOS7.0创建本地yum源和局域网yum源,准备两台CentOS7.0虚拟机,一个做服务器,一个做客户端;由于开发环境只有局域网,没法...

1302

扫码关注云+社区