步骤:首先安装java环境、安装zookeeper,最后安装kafka

一、安装java环境

1、下载所需要的软件

[[email protected] src]# cd /usr/local/src

(所需要的软件有jdk-8u121-linux-x64.rpmzookeeper-3.4.10.tar.gzkafka_2.10-0.10.1.0.tgz)

 zookeeper+kafka环境搭建

备注:

这些软件可自行到官网上下载。最新版本的比较高的zookeeper需要最新版本的jdk,我这里用的是jdk8

2、安装jdk,并声明java的家目录

[[email protected] src]# rpm -ivh jdk-8u121-linux-x64.rpm

[[email protected] src]# echo 'export JAVA_HOME="/usr/java/jdk1.8.0_121"' >> /etc/profile

[[email protected] src]# source /etc/profile

 

二、配置安装zookeeper

[[email protected] ~]# mkdir -p /zookeeper/{zk1,zk2,zk3}   #创建zookeeper的安装目录

1、配置安装第一个zookeeper

[[email protected] ~]# tar -xf /usr/local/src/zookeeper-3.4.10.tar.gz -C /zookeeper/zk1/

[[email protected] ~]# cd /zookeeper/zk1/zookeeper-3.4.10/conf/

[[email protected] conf]# cp zoo_sample.cfg zoo.cfg  #zookeeper主配置文件

[[email protected] conf]# grep '^[a-Z]' /zookeeper/zk1/zookeeper-3.4.10/conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/zookeeper/zk1/zookeeper-3.4.10/dataPath

autopurge.snapRetainCount=500

autopurge.purgeInterval=24

clientPort=2181

server.1=127.0.0.1:8880:7770  

server.2=127.0.0.1:8881:7771

server.3=127.0.0.1:8882:7772

备注(这里是在一台机器上搭建的环境)

1server字段里面的第一个端口(8880,8881,8882)为选举端口,第二端口(7770,7771,7772)是为了防止网络异常的端口,都是自定义的

2dataDir数据路径一会要创建出来

3、客户端的端口,每一个zookeeper也不同

4、如果是在不同服务器上搭建这个环境,只需要修改server字段里面的IP即可。

5、参数说明

①tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。
②initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
③当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。
④syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
⑤dataDir就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;
⑥clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;

#创建数据文件

[[email protected] conf]# mkdir -p /zookeeper/zk1/zookeeper-3.4.10/dataPath

[[email protected] conf]# echo 1 > /zookeeper/zk1/zookeeper-3.4.10/dataPath/myid

备注:这是个规定,而且myid不同的zookeeper不能相同

 

2、配置安装第二个zookeeper

[[email protected] ~]# cp -a /zookeeper/zk1/* /zookeeper/zk2/

[[email protected] ~]# echo 2 > /zookeeper/zk2/zookeeper-3.4.10/dataPath/myid

[[email protected] ~]# grep '^[a-Z]' /zookeeper/zk2/zookeeper-3.4.10/conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/zookeeper/zk2/zookeeper-3.4.10/dataPath

clientPort=2182

server.1=127.0.0.1:8880:7770  

server.2=127.0.0.1:8881:7771

server.3=127.0.0.1:8882:7772

 

3、配置安装第三个zookeeper

[[email protected] ~]# cp -a /zookeeper/zk1/* /zookeeper/zk3/

[[email protected] ~]# echo 3 > /zookeeper/zk3/zookeeper-3.4.10/dataPath/myid

[[email protected] ~]# grep '^[a-Z]' /zookeeper/zk3/zookeeper-3.4.10/conf/zoo.cfg

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/zookeeper/zk3/zookeeper-3.4.10/dataPath

clientPort=2183

server.1=127.0.0.1:8880:7770  

server.2=127.0.0.1:8881:7771

server.3=127.0.0.1:8882:7772

 

4启动zookeeper

[[email protected] ~]# /zookeeper/zk1/zookeeper-3.4.10/bin/zkServer.sh start

[[email protected] ~]# /zookeeper/zk2/zookeeper-3.4.10/bin/zkServer.sh start

[[email protected] ~]# /zookeeper/zk3/zookeeper-3.4.10/bin/zkServer.sh start

 zookeeper+kafka环境搭建

 

备注:如果有报错可以查看文件:zookeeper.out

 

5、查看是否成功

[[email protected] ~]# /zookeeper/zk1/zookeeper-3.4.10/bin/zkCli.sh -server 127.0.0.1:2181

或者

[[email protected] ~]# /zookeeper/zk1/zookeeper-3.4.10/bin/zkCli.sh -server 127.0.0.1:2182

或者

[[email protected] ~]# /zookeeper/zk2/zookeeper-3.4.10/bin/zkCli.sh -server 127.0.0.1:2183

 zookeeper+kafka环境搭建

 

[zk: 127.0.0.1:2181(CONNECTED) 0] ls

[zk: 127.0.0.1:2181(CONNECTED) 1] ls /zookeeper/quota

[]

[zk: 127.0.0.1:2181(CONNECTED) 2] ls /zookeeper/quota

[]

[zk: 127.0.0.1:2181(CONNECTED) 3] get /zookeeper/quota

 

cZxid = 0x0

ctime = Thu Jan 01 08:00:00 CST 1970

mZxid = 0x0

mtime = Thu Jan 01 08:00:00 CST 1970

pZxid = 0x0

cversion = 0

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 0

numChildren = 0

 zookeeper+kafka环境搭建

备注:测试的时候可以自由搭配,没有固定的搭配方法

 

三、配置安装kafka

1、添加一个kafka实例

[[email protected] ~]# mkdir -p /kafka/{ka1,ka2,ka3}

[[email protected] ~]# tar -xf /usr/local/src/kafka_2.10-0.10.1.0.tgz -C /kafka/ka1/

[[email protected] ~]#mkdir /kafka/ka1/kafka_2.10-0.10.1.0/logs

[[email protected] config]# cd /kafka/ka1/kafka_2.10-0.10.1.0/config

[[email protected] config]# grep "^[a-Z]" server.properties

broker.id=0

listeners=PLAINTEXT://:9092

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/kafka/ka1/kafka_2.10-0.10.1.0/logs

num.partitions=1

num.recovery.threads.per.data.dir=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

zookeeper.connection.timeout.ms=6000

 

 

2、添加第二个kafka实例

[[email protected] ~]# cp -a /kafka/ka1/* /kafka/ka2/

[[email protected] config]# cd /kafka/ka2/kafka_2.10-0.10.1.0/config

[[email protected] config]# grep "^[a-Z]" server.properties

broker.id=1

listeners=PLAINTEXT://:9093

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/kafka/ka2/kafka_2.10-0.10.1.0/logs

num.partitions=1

num.recovery.threads.per.data.dir=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

zookeeper.connection.timeout.ms=6000

 

 

3、添加第kafka实例

[[email protected] ~]# cp -a /kafka/ka1/* /kafka/ka3/

[[email protected] config]# cd /kafka/ka3/kafka_2.10-0.10.1.0/config

[[email protected] config]# grep "^[a-Z]" server.properties

broker.id=2

listeners=PLAINTEXT://:9094

num.network.threads=3

num.io.threads=8

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/kafka/ka3/kafka_2.10-0.10.1.0/logs

num.partitions=1

num.recovery.threads.per.data.dir=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

zookeeper.connection.timeout.ms=6000

 

4启动kafka

节点1

[[email protected] ~]# /kafka/ka1/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /kafka/ka1/kafka_2.10-0.10.1.0/config/server.properties &

 

节点2

[[email protected] ~]# /kafka/ka2/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /kafka/ka2/kafka_2.10-0.10.1.0/config/server.properties &

 

节点3

[[email protected] ~]# /kafka/ka3/kafka_2.10-0.10.1.0/bin/kafka-server-start.sh /kafka/ka3/kafka_2.10-0.10.1.0/config/server.properties &

 

查看进程状态:

[[email protected] bin]# ps -ef | grep kafka

 zookeeper+kafka环境搭建

 


相关文章: