Kafka是强依赖与zookeeper集群的,所以需要先搭建Zookeeper集群。
Zookeeper的集群搭建
上传安装包
因为zookeeper需要java环境所以需要上传jdk和zookeeper的安装包,一般安装文件放在usr/opt目录下,这里我用的是jdk1.7、zookeeper3.4.5、和kafka0.11.0.0版本。
安装java同时配置java环境
1、解压缩到指定文件夹,我的习惯是在usr下新建app目录专门存放安装的文件。 tar zxvf jdk...... 然后移动到指定usr/app文件目录下 cp -rf jdk.../ /usr/app/java 2、配置环境变量 打开环境变量配置文件 vi /etc/profile 编辑配置文件:文件最后面追加该内容: #java export JAVA_HOME=/usr/app/jdk/jdk1.7.0_80 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 3、环境变量生效 source /etc/profile
安装zookeeper并进行配置
1、解压移动到指定文件夹 tar -zxvf zookeeper-3.4.6.tar.gz cp -rf zoo.../ /usr/app/zookeeper 2、进入zookeeper,创建zkData文件夹。 3、创建一个myid文件,这个文件是给zookeeper集群标号。 touch myid 编辑该文件,从0或1为该节点编号 vi myid 4、进入zookeeper目录下的配置文件conf 把zoo_sample.cfg改名为zoo.cfg mv zoo_sample.cfg zoo.cfg 修改data属性:dataDir=/usr/app/zookeeper/zkData 在末尾添加: server.1=192.168.25.10:2888:3888 server.2=192.168.25.11:2888:3888 server.3=192.168.25.12:2888:3888
其他节点一次配置,除了myid的id值不同以外,其他都相同。
Kafka集群搭建
上传安装包
上相同不重复。
解压移动
上相同不重复。
tar -zxvf kafka_2.11-0.11.0.0.tgz -C /usr/app/ 可以在解压缩的时候直接指定目录
在kafka 目录下创建 logs 文件夹
mkdir logs
修改配置文件
cd config/ vi server.properties
修改信息:
#broker 的全局唯一编号,不能重复 broker.id=0 #删除 topic 功能使能 delete.topic.enable=true #配置本机监听的节点 listeners=PLAINTEXT://192.168.25.10:9092 #处理网络请求的线程数量 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=/usr/app/kafka/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 #segment 文件保留的最长时间,超时将被删除 log.retention.hours=168 #配置连接 Zookeeper 集群地址 zookeeper.connect=192.168.25.10:2181,192.168.25.10:2181,192.168.25.10:2181
集群操作
修改配置文件
broker.id=1
listeners=PLAINTEXT://192.168.25.11:9092
其他地方不需要修改。