kafka安装

一、Zookeeper集群安装

#下载二进制包

curl -O -L http://apache.01link.hk/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

#解压缩

tar -zxf zookeeper-3.4.14.tar.gz

#剪切

mv zookeeper-3.4.14 /usr/local/zookeeper

#创建数据目录

mkdir -p /var/lib/zookeeper

#创建配置文件

#在数据目录dataDir下创建myid文件,如192.168.5.137的myid文件内容为137

cd /var/lib/zookeeper
vim myid
cat > /usr/local/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=20
syncLimit=5
server.137=192.168.5.137:2888:3888
server.43=192.168.5.43:2888:3888
server.11=172.31.19.11:2888:3888
EOF

#启动

/usr/local/zookeeper/bin/zkServer.sh start

#停止

/usr/local/zookeeper/bin/zkServer.sh stop

在这个配置中,initLimit 表示用于在从节点与主节点之间建立初始化连接的时间上限,

syncLimit表示允许从节点与主节点处于不同步状态的时间上限。这两个值都是tickTime 的

倍数,所以initLimit是 20*2000ms ,也就是 40s 。配置里还列出了群组中所有服务器的地

址。服务器地址遵循 server.X=hostname:peerPort:leaderPort格式,各个参数说明如下:

X:

服务器的 ID,它必须是一个整数,不过不一定要从 0 开始,也不要求是连续的

hostname:

服务器的机器名或 IP 地址;

peerPort:

用于节点间通信的 TCP 端口;

leaderPort:

用于首领选举的 TCP 端口。

 

验证Zookeeper是否安装正确

[root@szx1-personal-liuchuang-dev-001 ~]# telnet localhost 2181

Trying ::1...

Connected to localhost.

Escape character is '^]'.

srvr

Zookeeper version: 3.4.14-4c25d480e66aadd371de8bd2fd8da255ac140bcf, built on 03/06/2019 16:18 GMT

Latency min/avg/max: 0/0/13

Received: 183817

Sent: 183816

Connections: 1

Outstanding: 0

Zxid: 0x200000153

Mode: follower

Node count: 217

Connection closed by foreign host.

 

注意:

zookeeper集群安装需要开放对外端口、peerPort、leaderPort,或者关闭防火墙

firewall-cmd --add-port=2181/tcp --permanent

firewall-cmd --add-port=2888/tcp --permanent

firewall-cmd --add-port=3888/tcp --permanent

firewall-cmd --reload

systemctl stop firewalld

 

二、kafka安装

curl -L -O http://ftp.cuhk.edu.hk/pub/packages/apache.org/kafka/2.1.1/kafka_2.12-2.1.1.tgz

三台机器:

192.168.5.43

192.168.5.137

172.31.19.11

tar -zxf kafka_2.12-2.1.1.tgz

mv kafka_2.12-2.1.1 /usr/local/kafka

mkdir /tmp/kafka-logs

#配置监听器

vim /usr/local/kafka/config/server.properties

找到#listeners=PLAINTEXT://hostname:9092和#advertised.listeners=PLAINTEXT://192.168.5.43:9092

取消注释,并将hostname修改本机hostname或者IP

listeners=PLAINTEXT://192.168.5.43:9092

advertised.listeners=PLAINTEXT://192.168.5.43:9092

#修改broker.id

broker.id=43

#zookeeper连接地址

zookeeper.connect=192.168.5.43:2181,192.168.5.137:2181,172.31.19.11:2181

 

#启动

/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

#查看启动状况

[root@szx1-personal-liuchuang-dev-001 ~]# jps

20276 Jps

20245 Kafka

创建验证主题:

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.5.43:2181 --replication-factor 1 --partitions 1 --topic test

#删除主题

/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 192.168.5.43:2181 --topic test

#查看主题

/usr/local/kafka/bin/kafka-topics.sh --zookeeper 192.168.5.43:2181 --describe --topic test

#发送消息

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.5.43:9092 --topic test
Test 1
^C

#消费消息
 

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.5.43:9092 --topic test --from-beginning

#关闭

/usr/local/kafka/bin/kafka-server-stop.sh
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

 

### 安装和配置Apache Kafka 在Windows上安装和配置Apache Kafka的过程可以分为几个部分。以下是详细的说明: #### 下载Apache Kafka 可以从Apache Kafka的官方网站下载最新版本的二进制发行版[^1]。 ```bash wget https://downloads.apache.org/kafka/<version>/kafka_<scala-version>-<version>.tgz ``` 解压文件并进入目录: ```bash tar -xzf kafka_<scala-version>-<version>.tgz cd kafka_<scala-version>-<version> ``` #### 配置环境变量 为了方便运行Kafka命令,建议将Kafka的`bin`目录添加到系统的PATH环境中。可以通过编辑`.bashrc`或其他shell初始化脚本来完成此操作: ```bash export PATH=<path-to-kafka-bin>:$PATH source ~/.bashrc ``` #### 启动Zookeeper服务 Kafka依赖于Zookeeper来协调集群中的节点。启动Zookeeper服务前,请确保已正确安装Java JDK,并设置JAVA_HOME环境变量。 ```bash bin/zookeeper-server-start.sh config/zookeeper.properties ``` #### 启动Kafka Broker 接着启动Kafka broker服务: ```bash bin/kafka-server-start.sh config/server.properties ``` 此时,Kafka应该已经成功运行在一个本地单机模式下。 #### 使用UI for Apache Kafka简化管理 对于更复杂的生产环境或者需要可视化管理的情况,可以考虑使用专门设计用于管理和监控Kafka集群的工具,比如UI for Apache Kafka[^2]。这类工具有助于提升效率以及降低人为错误的风险。 ```python import subprocess def start_kafka(): try: zookeeper_process = subprocess.Popen(['bin/zookeeper-server-start.sh', 'config/zookeeper.properties']) kafka_broker_process = subprocess.Popen(['bin/kafka-server-start.sh', 'config/server.properties']) # Wait indefinitely or implement a timeout mechanism as needed. zookeeper_process.wait() kafka_broker_process.wait() except Exception as e: print(f"Error starting Kafka services: {e}") start_kafka() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值