安装kafka和zookeeper以及使用
1.安装zookeeper
zookeeper下载:http://zookeeper.apache.org/releases.html
从3.5.5开始,带有bin名称的包才是要下载的包可以直接使用
解压压缩包
进入conf目录
拷贝一份zoo_sample.cfg文件改名为zoo.cfg
更改zoo.cfg配置信息 :
data和dataLog 数据和数据日志存储路径
dataDir=/apache-zookeeper-3.7.1-bin/data
dataLogDir=/apache-zookeeper-3.7.1-bin/dataLog
进入\bin目录
window: 双击zkServer.cmd启动
linux: zkServer.sh
一个zookeeper图形化工具ZooInspector
下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip
直接解压zip进入\zooInspector\build目录jar包启动
执行成功,会弹出client
然后进行连接 zoo默认端口为 2181
可查看zoo节点信息
2.安装kafka
下载:https://kafka.apache.org/downloads.html下载binary版本的
解压安装包
进入config目录下,找到server.properties
编辑 log.dirs为 path+\logs (path为kafka路径)
Zookeeper地址和端口,Kafka支持内置的Zookeeper和引用外部的Zookeeper
内置zookeeper配置在zookeeper.properties里面默认配置是单机版
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183(默认就是localhost:2181)
在windows系统启动 脚本都在\bin\windows路径下面
启动
.\bin\windows\kafka-server-start.bat .\config\server.properties
创建主题
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic nowTest
查看主题命令
.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
创建生产者
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic nowTest
创建消费者
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic nowTest --from-beginning
kafka可视化工具 https://www.kafkatool.com/download.html 下载安装使用即可
3. springboot配置kafka
依赖
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<!--内嵌的zookeeper和kafka 开发期间,不用准备相关环境了-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
kafka配置文件KafkaConfig
/**
* @return
* @Description 主要业务的Kafka生产者配置
*/
public Map<String, Object> producerConfigs(){
Map<String, Object> props = new HashMap<>();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
props.put(ProducerConfig.RETRIES_CONFIG, 0);
props.put(ProducerConfig.BATCH_SIZE_CONFIG, 16384);
props.put(ProducerConfig.BUFFER_MEMORY_CONFIG, 33554432);
props.put(ProducerConfig.ACKS_CONFIG, "1");
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
return props;
}
/**
* @return
* @Description 主要业务的Kafka生产者配置工厂
*/
public ProducerFactory<String, Object> producerFactory(){
return new DefaultKafkaProducerFactory<>(producerConfigs());
}
/**
* @return
* @Description 主要业务的Kafka消费者配置
*/
public Map<String, Object> consumerConfigs(){
Map<String, Object> propsMap = new HashMap<>();
propsMap.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,true);
propsMap.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, 5000);
propsMap.put(ConsumerConfig.GROUP_ID_CONFIG,"FLOWAC_0_DEV_WXD");
propsMap.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,"FALSE");
propsMap.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "latest");
propsMap.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
propsMap.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
return propsMap;
}
/**
* @return
* @Description 主要业务的Kafka消费者工厂
*/
public ConsumerFactory<String, String> consumerFactory(){
return new DefaultKafkaConsumerFactory<>(consumerConfigs());
}
@Bean(name = "kafkaOneListenerFactory")
public KafkaListenerContainerFactory<ConcurrentMessageListenerContainer<String, String>> kafkaListenerFactory(){
ConcurrentKafkaListenerContainerFactory<String, String> factory =
new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(consumerFactory());
factory.getContainerProperties().setPollTimeout(1500);
return factory;
}
@Bean(name = "kafkaOneTemplate")
public KafkaTemplate<String, Object> kafkaTemplate(){
return new KafkaTemplate<>(producerFactory());
}
发送消息
private KafkaTemplate<String, String> kafkaTemplate;
String message = String.format("%s","Test");
kafkaTemplate.send("nowTest", message);
接收消息
@KafkaListener(topics="nowTest",containerFactory = "kafkaOneListenerFactory")
public void kafkaCustomer(String msg){
log.info("收到消息通知: {}",msg);
}
安装kafka和zookeeper以及使用的更多相关文章
- kubernetes(k8s) helm安装kafka、zookeeper
通过helm在k8s上部署kafka.zookeeper 通过helm方法安装 k8s上安装kafka,可以使用helm,将kafka作为一个应用安装.当然这首先要你的k8s支持使用helm安装.he ...
- centOS7安装kafka和zookeeper
wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz tar zxvf kafka_2.-.tgz cd ka ...
- 使用docker-compose一起安装kafka(zookeeper)
要先安装docker-compose Linux安装docker-compose 参考:https://www.cnblogs.com/pxblog/p/15049362.html 创建docker- ...
- Helm 安装Kafka
helm镜像库配置 helm repo add stable http://mirror.azure.cn/kubernetes/charts helm repo add incubator http ...
- kafka及zookeeper安装
kafka_2.9.2-0.8.1.tgzzookeeper-3.4.8.tar.gz 安装 zookeeper1 export PATH=$PATH:/usr/local/zookeeper/bin ...
- Redis安装,mongodb安装,hbase安装,cassandra安装,mysql安装,zookeeper安装,kafka安装,storm安装大数据软件安装部署百科全书
伟大的程序员版权所有,转载请注明:http://www.lenggirl.com/bigdata/server-sofeware-install.html 一.安装mongodb 官网下载包mongo ...
- linux 安装 kafka&zookeeper
安装kafka 1,下载kafka. #cd /usr/local #wget wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1 ...
- Ubuntu下安装和使用zookeeper和kafka
1.在清华镜像站下载kafka_2.10-0.10.0.0.tgz 和 zookeeper-3.4.10.tar.gz 分别解压到/usr/local目录下 2.进入zookeeper目录,在conf ...
- 安装kafka + zookeeper集群
系统:centos 7.4 要求:jdk :1.8.x kafka_2.11-1.1.0 1.绑定/etc/hosts 10.10.10.xxx online-ops-xxx-0110.10 ...
- 附录E 安装Kafka
E.1 安装Kafka E.1.1 下载Kafka Kafka是由LinkedIn设计的一个高吞吐量.分布式.基于发布订阅模式的消息系统,使用Scala编写,它以可水平扩展.可靠性.异步通信 ...
随机推荐
- 转发 关于Windows安装解压版MySQL出现服务正在启动-服务无法启动的问题
部分转自 :https://blog.csdn.net/u013901768/article/details/80707307 我是从服务器上复制了mysql的整个目录,到本地,然后怎么也不好用,看了 ...
- Blog作业02
目录 前言 设计与分析 踩坑心得 改进建议 总结 前言 这三次作业的题目数量虽然增多,但是在题量加大的同时,这三次作业集的难度也相应的下去了,难度降低的同时也保证了作业集题目的质量.这三次的作业的知识 ...
- shader graph 制作的双面shader
- [转]sublime text 4注册
1.打开浏览器进入网站https://hexed.it2.打开sublime text4安装目录选择文件sublime_text.exe3.搜索80 78 05 00 0f 94 c1更改为c6 40 ...
- git Permission denied, please try again.
博主在github上下载tiny face的的源代码的时候,遇到git clone命令为:git clone --recursive git@github.com:peiyunh/tiny.git 而 ...
- k8s namespace kubeDNS
图中kube-dns只是一个service,但是他对外提供k8s集群内部的dns服务,真正的dns server,是 coredns这几个pod k8s namespace 的作用只是提供逻辑上的组件 ...
- gitlab-ce安装
# vim /etc/yum.repos.d/gitlab-ce.repo [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors. ...
- Vue插件开发,全局插件和按需加入插件
年前手下事情少,找了一个下午研究了一下Vue插件开发,首先要感谢B站的前端小野森森-2,借鉴了他的视频,自己也写了一下.把过程记录下来. 首先用vite建一个空项目. 然后新建modules文件夹,和 ...
- 【LeetCode回溯算法#07】子集问题I+II,巩固解题模板并详解回溯算法中的去重问题
子集 力扣题目链接 给你一个整数数组 nums ,数组中的元素 互不相同 .返回该数组所有可能的子集(幂集). 解集 不能 包含重复的子集.你可以按 任意顺序 返回解集. 示例 1: 输入:nums ...
- Java Swing的练习感悟
感悟心得 这还是我第一次使用Java Swing写代码呢,直接就是趣味性拉满! 在相关的界面代码的基础上,在必要的位置嵌入Java代码,就可以很好的实现啦! 简单的嘞! (有兴趣的各位可以选择去浅浅地 ...