赞
踩
Zookeeper的功能以及工作原理
ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
Kafka简介
Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。
一、基础环境准备:服务器是 “192.168.1.18 ”;
二、布置服务器JDK环境: 查看 java -version 或者 rpm -qa |grep jdk
没有的话yum查看:yum -y list java*
java -version #查看jdk
yum -y list java* #查看yum源中的java
yum -y install java-1.8.0* #安装1.8jdk
三、定义目录结构:
mkdir -p /opt/zookeeper
mkdir -p /opt/kafka
四、下载包:
cd /opt/zookeeper
wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar.gz
## 没wget需要 命令安装
yum -y install wget
cd /opt/kafka
wget https://mirrors.aliyun.com/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz
五、配置启动zookeeper(虽然一般kafka自带zookeeper但是看到博客上都推荐使用自己单独的zookeeper):
cd /opt/zookeeper/
tar -zxvf zookeeper-3.4.12.tar.gz
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
Vim zoo.cfg修改配置部分分别为:
这里也可以这样写Server.1=zk1:2888:3888
dataDir 定义:zookeeper保存数据的目录;
dataLogDir= #Zookeeper将写数据的日志文件保存在这个目录里;
server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识后续会用到。
第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口。默认3888。 修改完成后,保存即可。
创建节点的myid(节点非0开始可以从1开始做节点但是要有规则)
Vim /opt/zookeeper/zkdata/myid下写入1(2节点到时候写入2)
启动服务:cd /opt/zookeeper/zookeeper-3.4.12/bin
./zkServer.sh start ###启动
如果报如下错误 检查自己的zoo.cfg是否配置正确
./zkServer.sh status ###启动后一定要查看
六、Kafka搭建:
cd /opt/kafka
tar zxvf kafka_2.12-1.1.0.tgz
cd /opt/kafka/kafka_2.12-1.1.0/config #进入kafka配置目录
cp server.properties server.properties.bak #备份kafka默认配置文件
修改配置文件: vim server.properties
kafka启动需要选择配置文件
broker.id=1 #当前机器在集群中的唯一标识
listeners=PLAINTEXT://10.15.21.62:9092 #监听端口
advertised.listeners=PLAINTEXT://10.15.21.62:9092 #提供给生产者,消费者的端口号。可以不设置则使用listeners的值
logs日志路径没有的话需要创建
启动可以绝对路径:
启动:./kafka-server-start.sh -daemon ../config/server.properties
七、测试kafka:
1、先创建一个测试主题:./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic dgp
2、查看主题: ./kafka-topics.sh --list --zookeeper localhost:2181
3、发送一些消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic dgp
输入一些信息
4、启动命令行消费者,将消息转储到标准输出:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic d --from-beginning
kafka伪分布式搭建参考: https://blog.csdn.net/weixin_42207486/article/details/80635246
转至 :https://blog.csdn.net/weixin_42207486/article/details/80647802
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。