windows安装kafka(windows安装器使用教程)

本篇文章给大家谈谈windows安装kafka,以及windows安装器使用教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Kafka 安装教程 + nodejs 连接

1、kafka安装包

2、zookeeper安装包

1、先安装运行zookeeper

2、安装运吵拿行kafka

修改下图ip

advertised.listeners=PLAINTEXT://71.24.89.191:9092

这里主要是检测对应的端口是否是打开状态

分别是 zookeeper的默认端口 2181 和 kafka的 9092

检测网址

1、 添加

2、查看升散搭所有主题

3、查看主题掘毁下所有分区

4、动态 修改主题 分区为12

小伙伴们可以看我另一片文章

Nodejs kafka连接

1、内存不足

这里因为我的机器的内存比较小

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e0000000, 536870912, 0) failed; error='Cannot allocate memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.

Native memory allocation (mmap) failed to map 536870912 bytes for committing reserved memory.

我们只需要把kafka启动脚本修改一下就可以了

修改内存为256:

windows系统下启动kafka CMD报错:输入行太长,语法错误

        在windows系统用cmd输命令:.\bin\windows\kafka-server-start.bat .\config\server.properties  启动kafka居然报错:输入行太长,语法错误,折磨了我一个小时棚亮。

        在网上查到一个解决方法:  孝和伍kafka目录不要建太深,直接在放在D盘

 巧或

windows 下远程连接kafka服务器并创建topic 部署服务

一.打包项目镜像:

利用Dockerfile 来打包项目的镜像

本次项目共依赖两个镜像(一个基础系统环境和一个项目镜像)

本次直接将Dockerfile写好后,用shell脚本build.sh启动打包:

然后切换到项目的目录下找到build.sh,运行即可打包项目镜像

报错:"failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial unix /var/run/docker.sock: connect: permission denied

"

就用

出现以下说明打包成功,接下来可以开始部署:

注意:如果遇到只读权限不能修改时,将host文件复制一份到桌面,修改后在替换原来的host文件

在hosts文件末尾加上kafka服务器 !外网! 39. 0.25...地址,修改后的格式如下:

1.1注意: 修改阿里云服务器的hosts 文件来配宽辩顷置 kafka的服务器地址:

在hosts 文件最后加入:

添加的 kafka-server 就是以下创建topic命令中的 kafka-server别名,

监听远程kafka:新建消费者:

远程创建topic的实例:

查看远程已创建的topc:

本地:

远程修改后的kafka topic:

2.通过git Bash 切换到kafka客户端的bin目录:

桌面打开 gitBash,切换到本地kafka软件目录:

这里一定要切换为windows

3.查看已经有的topic

--topic 指定topic名字

--replication-factor 指定副本数,因为我的灶念是集群环境,这里副本数就为3

--partitions 指定分区数,这个参数需要根据broker数和数据量决定,正常情况下,每个broker上两个partition最好

注意:服务器部署时候一定要用内网172. .开头的,外部访问设为外网ip

不然会导致Kafka写入数据的时候报错 : TImeout

4.1本地docker创建topic:

4.2 本地windows 创建topic

进入本地软件路径KAFKA/BIN/WIONDOWS

创建topic

5.修改服务器的host:

一定要注意加sudo 不然会导致readonly 无法修改

在host 文件的末尾加上以下:

6.切换到工程部署的目录

7.清理redis,不然数据慎陆有残留:

7.1服务器上的redis挂载清除:

在 docker-compose.yml中注销这几行: 目的是每次启动不必记录上次没有执行完的数据.

这个是用来记录redis中假如上次指定的是1到100万块,没有执行完.下次接着执行没执行完的任务,测试时暂时关闭

7.2删除volume:

7.3 如果volume文件被占用时,先删除占用容器:

7.4 清除redis中的数据

进入redis容器中:

8.部署命令:

8.1开启docker可视化web上监控docker:

然后访问:

宿主机IP + 9000端口

8.2执行部署命令,启动服务:

9.部署时报错: yaml: line 46: did not find expected key

原因: docker-compose.yml文件中第46行 报错

解决:将所有数据对齐,不要有多余的空格.

windows下c++中使用kafka

kafka的c/c++的client有

用户最多的是librdkafka, github上有2000+star, 笔者使用的也是librdkafka

还没有正式的0.11.6 release版本,故而笔者选用的是v0.11.5版本,然后掉坑里了

v0.11.5版本rd_lock() 有个bug,在window平台下,机器开机超过7天,rd_lock()的返回值就溢出了,导致无法produce和consume;此仿尘笔者的机器是常年不关的,所以写测试程序的时候,一开始就发现无法produce和consume,一度怀疑是不是配置没有 配好,还是跟kafka server 版本不兼容,然后用go的kafka client sarama 几分钟完成森禅测试,弄的大信我快崩溃了,一度想放弃;最后没办法,就单步调试,发现是因为获取系统时间溢出,导致produce request 和 fetch request一直无法满足条件去执行;v0.11.6.-rc2 已经修复这个问题或者版本回退到v0.11.4也没有这个问题。。。

下面几个issues都是这个问题导致的

鉴于官方还没有正式发布v0.11.6,笔者选用了最新的 v0.11.6-rc4

Kafka Connect的安装和配置

       在使用Kafka Connect时,需要注意一些事项,以帮助你构建适应长期需求的datapipeline。本章旨在提供有关的一些上下文。

       要开始使用Kafka Connect,只有一个硬性的先决条件:一个Kafka的broker集群。然而,随着集群增长,有几个问题需要提前考虑:

       在开始之前,确定哪种模式最适合您的环境非常有用。 对于适合单个代理的环境(例如从web服务器向Kafka发送日志),standalone模式非常适合。在单个source或sink可能需要大量数据的用例中(例如,将数据从Kafka发送到HDFS),分布式模式在可伸缩性方面更加灵活,并提供了高可用性服务,从而最小化停机时间。

       Kafka Connect插件是一组jar文件,Kafka Connect可以在其中找到一个或多个connector、transform、以及converter的实现。Kafka Connect将每个插件彼此隔离,这样一个枣枯插件中的库就不会受到其他插件库的影响,这点非常重要旁罩。

Kafka Connect plugin是:

(1)在一个uber jar文件中包含插件及所有第三方依赖;或

(2)一个包含jar包和第三方依赖的目录。

       Kafka Connect使用plugin path找到插件,这是Kafka Connect在worker配置文件中定义的一个以逗号分隔的目录列表。要安装插件,请将目录或uber jar放在plugin path路径中列出的目录中。

        举个例子 ,我们在每台机器上创建一个/usr/local/share/kafka/plugins目录,然后将我们所有的插件jar或插件目录放入其中。然后在worker的配置文件中加入如下配置项:

       现在,当我们启动worker时,Kafka Connect可以发现这些插件中定义的所有connector、transform以及converter。Kafka Connect显式地避免了其他插件中的库, 并防止了冲突。

       如果要在同一个机器上运行多个standalone实例,有一些参数需要是独一无二的:

(1)offset.storage.file.filename:connector偏移量的存储。

(2)rest.port:用于监听http请求的rest接口所占用的端口。

       connector和task的配置,offsets和状态会存储在Kafka的内部主题中,Kafka Connect会自动创建这些主题,且所有topic都使用了压缩清理策略。

       如果要手动创建这些topic,推荐使用如下命令:

这里只列出一些有疑问的。

       配置了group.id的worker会自动发现彼此并形成集群。一个集群中的所有worker必须使用相同的三个Kafka topic来共享配置、偏移量以及状态,所有worker必须配置相同的config.storage.topic、offset.storage.topic以及status.storage.topic。

       每个converter实现类都有自运岩闹己的相关配置需求。下面的例子展示了一个worker属性文件,其中使用的AvroConverter需要将Schema Registry的url作为属性进行传递。

注意: 除了其配置覆盖这些配置的connector,worker上运行的所有connector都使用这些converter。

[img]

关于windows安装kafka和windows安装器使用教程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表