`简介` Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 `功能` 1、发布与订阅消息 2、作为消息中间件使用 3、对实时流数据传输具有可靠保证 `特性` 1、通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 2、高吞吐量 3、支持通过Kafka服务器和消费机集群来分区消息。 `应用场景` Kafka解决了生产环境中数据上下游的耦合问题。 Kafka带来的主要价值在于,它可以作为数据管道,成为各个数据段之间的大型缓冲区,有效地解耦管道数据的生产者和消费者。
1、环境描述
test1 10.1.0.55 jdk、zookeeper、Kafka test2 10.1.0.102 jdk、zookeeper、Kafka test3 10.1.0.103 jdk、zookeeper、Kafka
2、安装前准备
关闭防火墙 systemctl stop firewalld systemctl disable firewalld
3、安装jdk
下载地址:https://download.oracle.com (1)解压安装包 tar xvf jdk-8u141-linux-x64.tar.gz (2)配置环境变量(解压路径及下载版本跟需调整) echo ' export JAVA_HOME=/usr/local/java/jdk1.8.0_141/' >> /etc/profile echo ' export JAVA_BIN=/usr/local/java/jdk1.8.0_141/bin' >> /etc/profile echo ' export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile echo ' export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile echo ' export JAVA_HOME JAVA_BIN PATH CLASSPATH' >> /etc/profile (3)刷新环境变量 source /etc/profile (4)查看安装情况 java -version
4、安装zookeeper集群
(1)下载安装包到/opt wget http://mirror.easyname.ch/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz (2)解压安装包 tar xvf apache-zookeeper-3.5.9-bin.tar.gz (3)拷贝zookeeper配置文件 cd /opt/apache-zookeeper-3.5.9-bin/conf cp zoo_sample.cfg zoo.cfg (4)配置环境变量 echo ' export ZOOKEEPER_INSTALL=/opt/apache-zookeeper-3.5.9-bin/bin' >> /etc/profile source /etc/profile
5、配置zookeeper集群
vim zoo.cfg (1)自定义数据目录 mkdir -p /var/lib/zookeeper dataDir=/var/lib/zookeeper (2)集群配置信息 4lw.commands.whitelist=mntr,conf,ruok server.1=10.1.0.55:2888:3888 server.2=10.1.0.102:2888:3888 server.3=10.1.0.103:2888:3888 autopurge.snapRetainCount=3 autopurge.purgeInterval=1 (3)创建myid文件 echo "1" >/var/lib/zookeeper/myid (10.1.0.55) echo "2" >/var/lib/zookeeper/myid (10.1.0.102) echo "3" >/var/lib/zookeeper/myid (10.1.0.103) 说明:服务器IP根据自己情况修改
6、启动zookeeper,查看集群状态
./zkServer.sh start ./zkServer.sh status
7、安装kafka集群
(1)下载安装包到/usr/local(到目前为止的最新版) wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz --no-check-certificate (2)解压安装包 tar xvf kafka_2.13-3.0.0.tgz mv kafka_2.13-3.0.0 kafka
8、配置kafka集群
10.1.0.55 (1)broker.id,区分开 broker.id=0 (2)日志存储目录 log.dirs=/var/log/kafka-logs (3)zookeeper连接 zookeeper.connect=10.1.0.55:2181,10.1.0.102:2181,10.1.0.103:2181
10.1.0.102 (1)broker.id,区分开 broker.id=1 (2)日志存储目录 log.dirs=/var/log/kafka-logs (3)zookeeper连接 zookeeper.connect=10.1.0.55:2181,10.1.0.102:2181,10.1.0.103:2181
10.1.0.103 (1)broker.id,区分开 broker.id=2 (2)日志存储目录 log.dirs=/var/log/kafka-logs (3)zookeeper连接 zookeeper.connect=10.1.0.55:2181,10.1.0.102:2181,10.1.0.103:2181
9、启动kafka
nohup ./kafka-server-start.sh -f ../config/server.properties >/dev/null 2>&1 &
10、简单 *** 作
创建topic ./kafka-topics.sh --create --bootstrap-server 10.1.0.55:9092,10.1.0.102:9092,10.1.0.103:9092 --replication-factor 3 --partitions 3 --topic test
查看 ./kafka-topics.sh --describe --bootstrap-server 10.1.0.55:9092,10.1.0.102:9092,10.1.0.103:9092 --topic test
生产消费 ./kafka-console-producer.sh --bootstrap-server 10.1.0.55:9092,10.1.0.102:9092,10.1.0.103:9092 --topic test ./kafka-console-consumer.sh --bootstrap-server 10.1.0.55:9092,10.1.0.102:9092,10.1.0.103:9092 --topic test --from-beginning
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)