kafka_0.11.0.0集群部署

1. 简介

kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。

在这里插入图片描述

i. 消息的发布(publish)称作producer,消息的订阅(subscribe)称作consumer,中间的存储阵列称作broker。

ii. 多个broker协同合作,producer、consumer和broker三者之间通过zookeeper来协调请求和转发。

iii. producer产生和推送(push)数据到broker,consumer从broker拉取(pull)数据并进行处理。

iv. broker端不维护数据的消费状态,提升了性能。

v. 直接使用磁盘进行存储,线性读写,速度快:避免了数据在JVM内存和系统内存之间的复制,减少耗性能的创建对象和垃圾回收。

vi. Kafka使用scala编写,可以运行在JVM上。


2. 安装:

创建用户:

[root@localhost ~]##建立用户,并指定所属用组

[root@localhost ~]#useradd -d /home/kafka -g escgrp -m kafka

[root@localhost ~]##修改用户密码

[root@localhost ~]#passwd kafka

passwd: all authentication tokens updated successfully.

安装JRE/JDK

$pwd
/home/kafka

$unzip jdk1.8.0_112.zip

$chmod -R 755 jdk1.8.0_112

检查修改各用户配置文件参数

$vi .bash_profile

JAVA_HOME=/home/kafka/jdk1.8.0_11
export JAVA_HOME
PATH=$JAVA_HOME/bin:$HOME/bin:$PATH
export PATH
export LANG=zh_CN.utf8

保存退出,使用之生效

$. .bash_profile

检查jdk变量是否设置成功

$java -version


在安装kafka之前先把zookeeper集群打开,安装部署zookeeper网上找教程

3.下载kafka

进入下载页面:
解压 :
tar -xzvf kafka_2.11-0.11.tgz

http://kafka.apache.org/downloads.html

修改配置
目录:
$kafka/kafka_2.11-0.11.0.0/config/server.properties
在这里插入图片描述

#broker标识,id为正数,且全局不能重复(有几台kafkaserver配置几个broker)
broker.id=0
 
# broker监听请求的socket地址
listeners=PLAINTEXT://:9092
port=9092
host.name=192.168.1.181

#日志文件保存目录(此目录可以自定义)
log.dirs=/home/kafka/kafka-2.11_myself_logs

#zookeeper管理的地址ip1:port1,ip2:port2……
zookeeper.connect=localhost:2181

4、启动Kafka

bin/kafka-server-start.sh -daemon config/server.properties &

查看kafka进程:
ps -ef|grep java
在这里插入图片描述
或者利用jps查看:
在这里插入图片描述

关闭kafka
  1. kafka-server-stop.sh总是无法成功所以利用以下办法(建议第二种):
    在这里插入图片描述
  2. kill -s TERM $(jps -l | grep 'kafka\.Kafka' | awk '{print $1}')

测试:

启动2个XSHELL客户端,一个用于生产者发送消息,一个用于消费者接受消息。
运行producer,随机敲入几个字符,相当于把这个敲入的字符消息发送给队列。

bin/kafka-console-producer.sh --broker-list 192.168.75.131:9092 --topic test
说明:早版本的Kafka,–broker-list 192.168.75.131:9092需改为–zookeeper 192.168.75.131:2181
运行consumer,可以看到刚才发送的消息列表。

bin/kafka-console-consumer.sh --zookeeper 192.168.75.131:2181 --topic test --from-beginning
注意:
producer,指定的Socket(192.168.75.131+9092),说明生产者的消息要发往kafka,也即是broker
consumer, 指定的Socket(192.168.75.131+2181),说明消费者的消息来自zookeeper(协调转发)

上面的IP地址要看你具体的地址


搭建一个多个broker的伪集群

  1. 仿照上面的配置文件Server.properties,建立另个Server1.properties
#broker标识,id为正数,且全局不能重复(有几台kafkaserver配置几个broker)
broker.id=1
 
# broker监听请求的socket地址
listeners=PLAINTEXT://:9093
port=9093
host.name=192.168.1.181

#日志文件保存目录(此目录可以自定义)
log.dirs=/home/kafka/kafka-2.11_myself_logs1

#zookeeper管理的地址ip1:port1,ip2:port2……
zookeeper.connect=localhost:2181

再建立Server2.properties 上面配置类推
2. 启动所有的broker
命令如下:

bin/kafka-server-start.sh -daemon config/server.properties &   #启动broker
bin/kafka-server-start.sh -daemon config/server1.properties & #启动broker1
bin/kafka-server-start.sh -daemon config/server2.properties & #启动broker2

在这里插入图片描述

(3)创建topic

bin/kafka-topics.sh --create --topic agent2flow --partitions 1 --replication-factor 3  \--zookeeper localhost:2181

在这里插入图片描述

可以再次输入查看一共有哪些主题

./kafka-topics.sh --list --zookeeper 192.168.75.131:2181

再创建生产者和消费者尝试发送信息即可测试是否成功

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值