kafka0.10.2.1集群搭建
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】
运行环境:
scala2.11
zookeeper3.4.5
zookeeper搭建看我博客:Zookeeper3.4.5集群搭建(详+,一看就会)
1.下载并解压
(1)到官网进行下载
这里下载的kafka是0.10.2.1版本,前面的2.11是scala版本,下载时一定要下载匹配自己scala版本的kafka版本
(2)这里我把kafka下载并解压到了soft目录下并创建了软链接
2.配置环境变量并生效
vi /etc/profile
source /etc/profile #生效profile文件
3.在/soft/kafka 目录下创建logs文件夹(用来存放日志文件)
mkdir logs
4.修改kafka配置文件
进入/soft/kafka/config/ 目录下修改server.properties文件
cd /soft/kafka/config/
vi server.properties
下面为配置文件中一些重要的参数代码,有的需要进行修改,有的不修改但需要了解,具体配置文件的修改看下面图中标识的框框。
{
#broker的全局唯一编号,不能重复
broker.id=0
#删除topic功能使能
delete.topic.enable=true
#处理网络请求的线程数量
num.network.threads=3
#用来处理磁盘IO的现成数量
num.io.threads=8
#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400
#请求套接字的缓冲区大小
socket.request.max.bytes=104857600
#kafka运行日志存放的路径
log.dirs=/soft/kafka/logs
#topic在当前broker上的分区个数
num.partitions=1
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
#配置连接Zookeeper集群地址
zookeeper.connect=master:2181,slave1:2181,slave2:2181
}
5.分发文件
scp -r /soft/kafka root@slave1:/soft/ #分发kafka到slave1上
scp -r /soft/kafka root@slave2:/soft/ #分发kafka到slave2上
6.分发完文件需要改slave1、slave2中配置文件的broker全局唯一编号
分别进入slave1,slave2修改配置文件/soft/kafka/config/server.properties中的broker.id=1、borker.id=2(注意这三台机器的broker.id不能重复)
7.启动zookeeper集群
在启动kafka集群之前需要启动zookeeper集群
依次在master、slave1、slave2节点上启动zookeeper
[root@master kafka]# zkServer.sh start
[root@slave1 kafka]# zkServer.sh start
[root@slave2 kafka]# zkServer.sh start
8.启动kafka集群
依次在master、slave1、slave2节点上启动kafka
[root@master kafka]# bin/kafka-server-start.sh config/server.properties
[root@slave1 kafka]# bin/kafka-server-start.sh config/server.properties
[root@slave2 kafka]# bin/kafka-server-start.sh config/server.properties
9. 我们开启kafka之后,此时的窗口不用退出(如下图),这是一个阻塞进程。开启kafka集群后,如果我们需要进行命令操作,再开窗口打开三台虚拟机就可以。
如图:这就是kafka启动了,之后光标停止在下一行不动,为阻塞进程
再开窗口打开三台虚拟机有两个好处:①就是在另打开的窗口运行命令操作可以在先前窗口(阻塞进程的那个窗口)看kafka执行日志,能看出错误等②关的时候方便,直接关闭阻塞进程的那几个窗口就会将kafka关闭了。
【有问题或错误,请私信我将及时改正;借鉴文章标明出处,谢谢】