安装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编写,它以可水平扩展.可靠性.异步通信 ...
随机推荐
- cpu的调度
什么是cpu的调度 所谓 CPU 调度,就是确定把哪个处于淮备就绪状态的进程移入运行状态.也就是说,CPU调度算法将决定把 CPU 给予哪个进程,以便它能够运行. 两种调度方式 CPU 调度可以是在一 ...
- 6、jmeter的配置元件:参数化--CSV文件
1.参数化一些数据,就需要用到csv文件 Filename:文件位置和文件名 (和jmeter同一个目录就不需要写哪个盘 直接写文件名字就可以了) File encoding:编码 Variable ...
- SQL Server链接数据库
有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接. 数据库链接能够让本地的一个s ...
- 源代码管理工具介绍(以GITHUB为例)
Github:全球最大的社交编程及代码托管网站,可以托管各种git库,并提供一个web界面 1.基本概念 仓库(Repository):用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库 ...
- ggplot axis text 拐弯
scale_y_discrete(position = "left",labels=function(x) str_wrap(x, width=48)) +
- Cross Site Scripting DOM (XSS) 攻击jQuery append() 的处理方法
做安全红线使用Fortify工具进行扫描时,jquery append会报Cross Site Scripting DOM风险.解决该问题有两种办法. 一.原生dom方式 使用JavaScript原生 ...
- 【帆吖】Java学习零基础22
Java数组
- WIn环境基于vs编辑器,Qt应用申请管理员权限的解决方法(转载)
原文章地址:https://blog.csdn.net/weixin_38416696/article/details/103879377 基本按照那个文章的操作.基本可以了. 唯一问题就是那个vs的 ...
- 2021SWPUCTF-WEB(一)
gift_F12 给了一个网站,题目提示是F12,就F12找一下 WLLMCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} jicao 一个代码,逻辑很简单 大 ...
- 引用本地的layUI
<script src="/public/vendor/layui-v2.5.6/layui.all.js"></script>