3、 kafka集群安装部署
3.1、详细部署过程
1、下载安装包(http://kafka.apache.org)
kafka_2.11-1.1.0.tgz
2、规划安装目录
/wangyq/install
3、上传安装包到node01服务器,并解压
# 通过FTP工具上传安装包到node01服务器的/wangyq/soft路径下,然后进行解压 cd /wangyq/soft/ tar -zxf kafka_2.11-1.1.0.tgz -C /wangyq/install/
4、修改配置文件
在node01上修改kafak对应的配置文件
server.properties
进入到kafka安装目录下有一个config目录,修改配置文件
cd /wangyq/install/kafka_2.11-1.1.0/config vim server.properties #指定kafka对应的broker id ,唯一 broker.id=0 #指定数据存放的目录 log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs #指定zk地址 zookeeper.connect=node01:2181,node02:2181,node03:2181 #指定是否可以删除topic ,默认是false 表示不可以删除 delete.topic.enable=true #指定broker主机名 host.name=node01
5、node01执行以下命令分发kafka安装目录到其他节点
# 由node01节点同步其他副本节点中 cd /wangyq/install/ scp -r kafka_2.11-1.1.0/ node02:$PWD scp -r kafka_2.11-1.1.0/ node03:$PWD
6、修改node02和node03上的配置
node02执行以下命令进行修改配置
cd /wangyq/install/kafka_2.11-1.1.0/config/ vi server.properties #指定kafka对应的broker id ,唯一 broker.id=1 #指定数据存放的目录 log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs #指定zk地址 zookeeper.connect=node01:2181,node02:2181,node03:2181 #指定是否可以删除topic ,默认是false 表示不可以删除 delete.topic.enable=true #指定broker主机名 host.name=node02
node03执行以下命令进行修改配置
cd /wangyq/install/kafka_2.11-1.1.0/config/ vi server.properties #指定kafka对应的broker id ,唯一 broker.id=2 #指定数据存放的目录 log.dirs=/wangyq/install/kafka_2.11-1.1.0/logs #指定zk地址 zookeeper.connect=node01:2181,node02:2181,node03:2181 #指定是否可以删除topic ,默认是false 表示不可以删除 delete.topic.enable=true #指定broker主机名 host.name=node03
3.1、 kafka集群启动和停止
3.1.1、 启动
- 先启动zk集群
然后在所有节点执行脚本
cd /wangyq/install/kafka_2.11-1.1.0/ nohup bin/kafka-server-start.sh config/server.properties 2>&1 &
一键启动kafka
start_kafka.sh
#!/bin/sh for host in node01 node02 node03 do ssh $host "source /etc/profile;nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-start.sh /wangyq/install/kafka_2.11-1.1.0/config/server.properties >/dev/null 2>&1 &" echo "$host kafka is running" done
3.2.1、 停止
所有节点执行关闭kafka脚本
cd /wangyq/install/kafka_2.11-1.1.0/ bin/kafka-server-stop.sh
一键停止kafka
stop_kafka.sh
#!/bin/sh for host in node01 node02 node03 do ssh $host "source /etc/profile;nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-stop.sh &" echo "$host kafka is stopping" done
3.3.1、 一键启动和停止脚本
- 必须先启动
zookeeper
集群 kafkaCluster.sh
#!/bin/sh case $1 in "start"){ for host in node01 node02 node03 do ssh $host "source /etc/profile; nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-start.sh /wangyq/install/kafka_2.11-1.1.0/config/server.properties > /dev/null 2>&1 &" echo "$host kafka is running..." sleep 1.5s done };; "stop"){ for host in node01 node02 node03 do ssh $host "source /etc/profile; nohup /wangyq/install/kafka_2.11-1.1.0/bin/kafka-server-stop.sh >/dev/null 2>&1 &" echo "$host kafka is stopping..." sleep 1.5s done };; esac
启动
sh kafkaCluster.sh start
停止
sh kafkaCluster.sh stop
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。