kafka单机版安装

zookeeper

下载并解压

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
 tar -zxvf ./zookeeper-3.4.14.tar.gz 

修改配置文件

cd ./zookeeper-3.4.14/conf/
cp zoo_sample.cfg zoo.cfg 
vi zoo.cfg
#下面这几个是默认就有的,我用的是默认的,我没有配置额外的东西,你们可以根据实际情况配置像保存路径啊什么的
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
clientPort=2181

配置环境变量

vim /etc/profile
#zk
export ZK_HOME=/usr/local/bigdata/zookeeper-3.4.14
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$ZK_HOME/bin:$KAFKA_HOME/bin
source /etc/profile

启动zk

zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /usr/local/bigdata/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

查看状态

zkServer.sh status

ZooKeeper JMX enabled by default
Using config: /usr/local/bigdata/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone

kafka

解压

tar -zxvf kafka_2.11-0.11.0.2.tgz

修改配置

  • 下面的配置我用主机名(我事先配置好ip映射),发现命令行生产者消费者正常,但是java api生产者消费者连不上,必须用ip才行,目前没有查询到原因
cd ./kafka_2.11-0.11.0.2/config/
vi server.properties 

在这里插入图片描述

listeners=PLAINTEXT://192.168.199.100:9092
advertised.listeners=PLAINTEXT://192.168.199.100:9092

在这里插入图片描述

zookeeper.connect=192.168.199.100:2181
host.name=192.168.199.100

打开下面这个注释,要不然你kafka删除只是标记删除
在这里插入图片描述
修改我们这个broker保存的分区数,kafka单机版只能让这个单机多放一些分区了
在这里插入图片描述
其他的默认的就可以

配置环境变量

```bash
vim /etc/profile
#kafka
export KAFKA_HOME=/usr/local/bigdata/kafka_2.11-0.11.0.2
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$ZK_HOME/bin:$KAFKA_HOME/bin
source /etc/profile

启动kafka

 kafka-server-start.sh /usr/local/bigdata/kafka_2.11-0.11.0.2/config/server.properties &

会出现一堆日志,太多了,就不截图了

新建启动脚本

发现这个命令太麻烦了

cd /usr/local/bigdata/kafka_2.11-0.11.0.2/bin
vi start-kafka-server.sh

#!/bin/sh

/usr/local/bigdata/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh  /usr/local/bigdata/kafka_2.11-0.11.0.2/config/server.properties &
vi stop-kafka-server.sh

#!/bin/sh

/usr/local/bigdata/kafka_2.11-0.11.0.2/bin/kafka-server-stop.sh  /usr/local/bigdata/kafka_2.11-0.11.0.2/config/server.properties &
chmod 777 start-kafka-server.sh
chmod 777 stop-kafka-server.sh

创建一个topic

kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

Created topic "test".

发送接收消息

用命令起一个消费者监听消息

kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

起一个生产者发送消息

kafka-console-producer.sh --broker-list localhost:9092 --topic test

输入helloowrd
在这里插入图片描述
可以看到消费者接收到了
在这里插入图片描述

java api连不上

vi server.properties 

看一下这4个配置,只能用ip,用主机名不行

listeners=PLAINTEXT://192.168.199.100:9092
advertised.listeners=PLAINTEXT://192.168.199.100:9092

zookeeper.connect=192.168.199.100:2181
host.name=192.168.199.100

然后我就解决了,还没解决可能是防火墙和端口
防火墙(root)

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl status firewalld.service #查看firewall的状态

打开相关端口(root)

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章