linux安装Kafka以及windows安装Kafka和常见问题解决
目录
Linux上安装Kafka
当主题删除不了时,可以进入zookeeper:
windows上安装kafka
安装Kafka需要有Zookeeper,或者也可以使用kafka自带的zookeeper
Linux上安装Kafka
将kafka的安装包上传到/export/server目录并解压,重命名:
tar -zxvf kafka压缩包名
mv kafka压缩包 kafka
1、进入 Kafka 解压目录的 config 目录中
cd /export/server/kafka_2.11-2.0.0/config/
2、利用 vi 或 vim 打开 server.properties 文件
修改:vi server.properties
找到 "broker.id=0"这一行,一般主节点设置为0
找到log.dirs这一行,修改日志存放路径
# broker 的编号,如果集群中有多个broker,则每个broker的编号需要设置的不同
broker.id=0
# broker 对外提供的服务入口地址
listeners=PLAINTEXT://master:9092
# 存放消息日志文件的地址
log.dirs=/opt/kafka_2.12-2.8.1/logs
# Kafka 所需的 ZooKeeper 集群地址
zookeeper.connect=master:2181,slave1:2181,slave2:2181
修改完后,切换到/export/server存放kafka的目录下,分发给两个从节点
scp -r /export/server/kafka/ slave1:/export/server/
scp -r /export/server/kafka/ slave2:/export/server/
分发完后,记得进入两个从节点的 server.properties文件,将broker.id改为1和2
borker.id=1
listeners=PLAINTEXT://slave1:9092
host.name=slave1borker.id=2
listeners=PLAINTEXT://slave2:9092
host.name=slave2
配置环境变量:vi /etc/profile
export KAFKA_HOME=/export/server/kafka
export PATH=$PATH:$KAFKA_HOME/bin
刷新文件:source /etc/profile
分发给两个从节点:
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc
先启动三台zookeeper: zkServer.sh start 再分别启动三台服务器上的kafka(后台启动命令):
kafka-server-start.sh -daemon config/server.properties
jps查看进程是否有kafka节点
经过以上步骤Kafka则安装完成
启动kafka命令:
./bin/kafka-server-start.sh或
./bin/kafka-server-start.sh -daemon config/server.properties(最好用这个)
创建topic,其中toipic名称为installtopic,分区数为2,副本数为2:
./bin/kafka-topics.sh --zookeeper master:2181 --create --replication-factor 2 --partitions 2 --topic installtopic
查看主题:
bin/kafka-topics.sh --list --zookeeper master:2181
当主题删除不了时,可以进入zookeeper:
//进入Cli端
bin/zkCli.sh -server master:2181
//查看主题
ls /brokers/topics3
//删除主题installtopic
deleteall /brokers/topics/installtopic
//退出Cli端
quit
windows上安装kafka
先在kafka目录下新建一个logs文件夹
修改config\server.properties
listeners=PLAINTEXT://localhost:9092
logs改为自己的路径
.\bin\windows\kafka-server-start.bat .\config\server.properties
Windows下启动单机kafka出现:系统找不到指定路径
解决方法:
修改bin\windows\kafka-run-class.bat
rem Which java to use这行下面的
ELSE(
set JAVA="你自己的jdk路径"
)