前语
大家好,我是风云,欢迎大家重视我的博客,在未来的日子里咱们一起来学习大数据相关的技能,一起努力奋斗,遇见更好的自己!
百度百科对Kafka
有如下描绘:
Kafka
是由Apache软件基金会
开发的一个开源流处理软件平台,由Scala
和Java
编写。Kaf软件库ka
是一种高吞吐量的分布式发布订阅音讯系统
,它能够处理顾客在网站中的所有动作流数据。
具备以下特色:
-
高吞吐量、低推迟
:kafka
每秒能软件工程专业够处大数据技术理百万条音讯,它的推迟最低只有几毫秒,java怎么读topic
能够分多个partition
,consumer group
对partition
进行consumer
操作 -
可扩展性
:khttps认证afka
集群支撑热扩展 -
持久性、可靠性
:音讯被持久化到本地磁盘,并且支撑数据备份大数据杀熟避免数据丢失 -
容错性
:答应集群中节点失利(若副本数量为n
,则答应n-1
个节点失利) -
高并发
:支撑数千个客户端一起读写
基于Kafka
具备这么多特色,在大数据开发范畴现软件测试已占有不可或缺的地位,咱们在工作中就会不可避免与java语言之打交道,那java模拟器么建立Kafka
集群就非常有必要了,今天就来共享一下kafka
集群建立的具体进程。
具体步骤
前期准备:
- 准备三个虚拟机:
192.168.https和http的区别36.121 hadoop1
192.168.36.122 hadoop2
192.168.36.123 hadoop3
2. 虚拟机上装备有ssh
服务,能够进行免密登录
3. Kafka
运行在JVM
上,需求装置JDK
4. kafka
依靠zookeeper
,需大数据求装置zookeepejava面试题r
,能够参阅我的另一篇文章《zookeeper集群建立超具体教程》
留意:下边的步骤都是在
hadoop1
这个节点上进行的操作,除特别说明外。
1、下载装置包
cd /opt/module
# 下载kafka装置包
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
2、解压
# 解压kafka装置包
tar -zxvf kafka_2.13-2.6.0.tgz
mv kafka_2.13-2.6.0 kafka
3、创立存放kafka音讯的目录
cd kafka
mkdir kafka-logs
4、修正装备文件
vim /opt/module/kafka/config/server.properties
# 修正如下参数
broker.id=0
listeners=PLAINTEXT://hadoop1:9092
log.dirs=/opt/module/kafka/kafka-logs
zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
参数说明:
bjava培训roker.id
: 集群内java怎么读全局唯一标识,每个节点上需求设置不同的值listeners
:这个IP
地址也是与本机相关的,每个节点上设置为自己的IP
地址log.dirs
:存放kafka
音讯的zookeeper.connect
: 装备的是zookeeper集群地址
5、分发kafka装置目录
# 分发kafka装置目录给其他集群节点
scp -r /opt/module/kafka/ hadoop2:/opt/module
scp -r /opt/module/kafka/ hadoop3:/opt/module
分发完成后,其他集群节点都需求修正装备文件server.properties
中的 broker.id
和listeners
参数。
6、编写kafka集群操作脚本
# 导入java环境
vim /etc/profile
# 增加如下内容(留意:填写自己的java装置目录)
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
cd /opt/module/kafka/bin
# 创立kafka发动脚本
vim kafka-cluster.sh
# 增加如下内容
#!/bin/bash
case $1 in
"start"){
for i in hadoop1 hadoop2 hadoop3
do
echo -------------------------------- $i kafka 发动 ---------------------------
ssh $i "source /etc/profile;/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
done
}
;;
"stop"){
for i in hadoop1 hadoop2 hadoop3
do
echo -------------------------------- $i kafka 中止 ---------------------------
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
done
}
;;
esac
# 保存退出后,修正履行权限
chmod +x ./kafka-cluster.sh
脚本命令说明:
发动kafka集群命令
./kafka-cluster.sh start
中止kafka集群命令
./kafka-cluster.sh stop
7、发动kafka集群
首要发动zookeepejava语言r
集群
然后履行kafka
集群大数据是干什么的脚本发动命令
cd /opt/module/kafka/bin
./kafka-cluster.sh start
8、测试
kafka
集群发动成功后,咱们就大数据是干什么的能够对kafka
集群进行操作了。
创立主题
cd /opt/module/kafka
./bin/kafka-topics.sh --create --bootstrap-server hadoop1:9092 --replication-factor 3 --partitions 1 --topic test
检查主虚拟机手机版题列表
./bin/kafka-topics.sh --list --bootstrap-server hadoop1:9092
发动控制台生产者
./bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
发动大数据技术与应用专业控制台顾客
./bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9092 --topic test --from-beginning
在生产者控制台输入hello kafka
,顾客控制台,就能够虚拟机是什么意思消费到生产者的音讯,输出 hello kafka
,表明消费端成功消费了生产者生产的音讯!
至此,咱们就顺利完成了kafka
集群建立的整个进程!
希望大家都能有所收成,喜欢的能够点赞和保藏,有疑问的能够在评论区留言,也欢迎转发共享给更多的人!
谢谢大家!
————– end —————-
微信大众号:请扫描下面的二维码
进行重视!