kafka三节点集群部署

kafka集群安装

集群规划

服务器IP地址节点名称备注
192.168.56.41hadoop001kafka版本:kafka_2.11-1.1.0.tgz
192.168.56.42hadoop002操作系统:centos7
192.168.56.43hadoop003

kafka需要依赖zookeeper,虽然kafka默认自带zookeeper,但是生产环境一般使用独立的zookeeper;zookeeper安装:https://blog.youkuaiyun.com/qq_29767087/article/details/110953035

kafka安装

kafka官网地址:http://kafka.apache.org/

1、下载kafka

$ wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.11-1.1.0.tgz

2、准备安装目录

$ mkdir /opt/kafka
$ mkdir /opt/kafka/data

3、解压安装

$ tar -zxvf kafka_2.11-1.1.0.tgz -C /opt/kafka

4、修改配置文件

$ cd /opt/kafka/kafka_2.11-1.1.0/config/

# 编辑配置文件server.properties,增加修改如下内容(其他参数根据需要修改)
$ vi server.properties
broker.id=0                			# broker的全局唯一编号,不能重复(三个节点分别设为0,1,2)
delete.topic.enable=true   			# 启用删除 topic 功能使能 (默认false)
log.dirs=/opt/kafka/data     		# kafka 运行日志存放的路径
log.retention.hours=72              # segment 文件保留的最长时间,超时将被删除 (默认168)
zookeeper.connect=hadoop001:2181,hadoop002:2181,hadoop003:2181  #配置连接 Zookeeper 集群地址

更多配置查看:http://kafka.apache.org/11/documentation.html#configuration

5、启动kafka

$ /opt/kafka/kafka_2.11-1.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-1.1.0/config/server.properties 

$ jps # 查看进程
28320 QuorumPeerMain
19952 Kafka
20034 Jps

6、kafka集群一键启动关闭脚本(需要事先配置免密登录)

#!/bin/bash

HOSTS="hadoop001 hadoop002 hadoop003"

case $1 in
  start){
    for host in hadoop001 hadoop002 hadoop003
    do
      echo ------------$host---------------
      ssh $host "source /etc/profile; /opt/kafka/kafka_2.11-1.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-1.1.0/config/server.properties"
    done    
  };;
  stop){
    for host in $HOSTS
    do
      echo ------------$host---------------
      ssh root@$host "source /etc/profile; /opt/kafka/kafka_2.11-1.1.0/bin/kafka-server-stop.sh"
    done
  };;
  status){
    for host in $HOSTS
    do
      echo ------------$host---------------
      ssh $host "/usr/local/jdk1.8.0_251/bin/jps"
    done
  };;
esac

命令行操作

1、topic操作命令kafka-topics.sh

# 所有命令在目录/opt/kafka/kafka_2.11-1.1.0下执行

# 查看当前服务器中的所有topic
$ bin/kafka-topics.sh --zookeeper hadoop001:2181 --list

# 创建topic
$ bin/kafka-topics.sh --zookeeper hadoop001:2181 --create --replication-factor 3 --partitions 3 --topic first
选项说明:
  --topic 定义 topic 名
  --replication-factor 定义副本数
  --partitions 定义分区数
  
# 删除topic
$ bin/kafka-topics.sh --zookeeper hadoop001 --delete --topic first
# 需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除。

# 查看topic详情
$ bin/kafka-topics.sh --zookeeper hadoop001:2181 --describe --topic first

2、生产与消费消息

# 启动生产者
$ bin/kafka-console-producer.sh --broker-list hadoop001:9092 --topic first 

# 在另一个终端启动一个消费者(以下三种方式,--from-begining表示从头开始消费)
$ bin/kafka-console-consumer.sh --zookeeper hadoop002:2181 --topic first
$ bin/kafka-console-consumer.sh --bootstrap-server hadoop002:9092 --topic first
$ bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first --from-beginning
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值