kafka_2.11-2.1.1.tgz 下载地址:http://kafka.apache.org/downloads.html 安装步骤
①解压到/usr/local 目录下

tar -zxvf kafka_2.11-2.1.1.tgz -C /usr/local

kafka的目录如下

重启kafka导致topic stat error kafka集群重启步骤_cdh集群


②更名(这一步如果存在多个版本的kafka,则最好保留版本号最为不同版本的区分)

#进入/usr/local
cd /usr/local
mv kafka_2.11-1.1.1 kafka

③配置环境变量

vi /etc/profile
----->进入文件,在文件的底部加上
# kafka environment
export KAFKA_HOME=/usr/local/kafka
export PATH=$KAFKA_HOME/bin:$PATH

④配置broker(server.properties)

#保证在/usr/local/kafka目录下,先删除server.properties,在创建一个空的server.properties
rm -rf ./config/server.properties
vi ./config/server.properties
#------>进入文件后添加如下内容,然后保存退出

broker.id=1
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=/home/log/kafka-logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
###############zookeeper##################
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka
zookeeper.connection.timeout.ms=6000
##############Group Coordinator Settings#############
group.initial.rebalance.delay.ms=0

⑤,配置生产者(producer.properties)

#同样先删除,在创建一个空的文件
rm -rf ./config/producer.properties
vi ./config/producer.properties
----->进入文件后,添加如下内容

bootstrap.servers=hadoop01:9092,hadoop02:9092,hadoop03:9092
compression.type=none

⑥配置消费者(consumer.properties)

#先删除文件,后创建一个空文件
rm -rf ./config/consumer.properties
vi ./config/consumer.properties
----->进入文件后,添加如下内容

bootstrap.servers=hadoop01:9092,hadoop02:9092,hadoop03:9092
group.id=group-test

⑦将kafka文件分发到hadoop02,hadoop03的/usr/local目录下

#目前是在/usr/local/kafka目录下
scp -r ../kafka hadoop02:/usr/local
scp -r ../kafka hadoop03:/usr/local

⑧进行配置文件的分发

#配置文件分发
scp /etc/profile hadoop02:/etc
scp /etc/profile hadoop03:/etc

#分别在不同节点重新加载配置文件
#在hadoop01,hadoop02,及hadoop03节点上分别执行下面的命令
source /etc/profile

⑨验证kafka环境变量配置是否成功

#在/usr/local/kafka目录下执行下面的命令
which bin/kafka-topics.sh
---->出现文件的路径就说明配置成功了
/usr/local/kakfa/bin/kafka-topics.sh

⑩修改hadoop02和hadoop03中server.properties文件中的broker.id为2和3

#在hadoop02中
cd /usr/local/kafka
vi ./config/server.properties
----->进入文件后,修改broker.id为2
broker.id=2

#在hadoop03中
cd /usr/local/kafka
vi ./config/server.properties
----->进入文件后,修改broker.id为3
broker.id=3

------------------------------>kafka的集群配置完成-------------------------------
kafka集群的启停

启动kafka前,必须先启动zookeeper(kafka依赖于zookeeper)

#hadoop01
zkServer.sh start
zkServer.sh status
#hadoop02
zkServer.sh start
zkServer.sh status
#hadoop03
zkServer.sh start
zkServer.sh status

----->看到 follow ,leader之后,说明zk启动成功

启动每个节点的kafka的broker

#在/usr/local/kafka 目录下(如果不是在此目录下,那么可以修改命令的路径),启动并将信息写入日志,而不是显示在屏幕
#hadoop01
nohup ./bin/kafka-server-start.sh ./config/server.properties > /var/log/kafka.log 2>&1 &
#hadoop02
nohup ./bin/kafka-server-start.sh ./config/server.properties > /var/log/kafka.log 2>&1 &
#hadoop03
nohup ./bin/kafka-server-start.sh ./config/server.properties > /var/log/kafka.log 2>&1 &

查看是否有kafka的进程起来

jps

id kafka    
------> 说明kafka成功启动了

关闭kafka集群
方法一:脚本

#同样在 /usr/local/kafka目录下
./bin/kafka-server-stop.sh  
#配置了环境变量就可以这样
kafka-server-stop.sh

这里需要注意的是有一些版本停止集群的脚本存在一些问题,导致不能获取进程号,从而不能关闭集群,需要做如下修改,方能停止集群(kafka_2.11-1.1.1经测试是可以正常关闭的,可以看到jps命令后kafka进程已经不存在)

重启kafka导致topic stat error kafka集群重启步骤_大数据_02


方法二:直接kill -9 pid

jps
#-------->看到如下结果
4262 kafka

#直接杀死这个进程
kill -9 4262

集群测试(这里有/kafka是因为kafka的server配置了/kafka的路径)

kafka-topics.sh --list --zookeeper hadoop01:2181/kafka  
------>如果没有东西,可以先创建一下
kafka-topics.sh --create --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181/kafka --replication-factor 2 --partitions 2 --topic test
#显示信息如下
Created topic "test" 
#然后在使用kafka-topics.sh --list --zookeeper hadoop01:2181/kafka
kafka-topics.sh --list --zookeeper hadoop01:2181/kafka
#显示如下结果
test

细节还有待完善