linux上kafka搭建小结

摘要:
不知道是不是跟8080端口被占用有关系[opt@testbin]$zkServer.shstatusZooKeeperJMXenabledbydefaultUsingconfig:/home/opt/hz/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfgClientportfound:2181.Clientaddress:localhost.Mode:standalone3、安装kafka从官网下载非源码版本的程序,带有src安装了会有问题tarxzvfkafka_2.12-2.3.0.tgzcdkafka_2.12-2.3.0启动程序bin/kafka-server-start.shconfig/server.properties&检测2181与9092端口netstat-tunlp|egrep''在用普通用户启动时候会报Openingsocketconnectiontoserverlocalhost/0:0:0:0:0:0:0:1:2181.WillnotattempttoauthenticateusingSASL[ZooKeeperClientKafkaserver]Closed.[ThrottledChannelReaper-Fetch]:ShuttingdownERRORExitingKafka.换成root用户启动就好了,怀疑普通用户没有默认配置中跟路径权限。后期把配置修改下再试试。

1、安装java

yum -y list java

可以查看java的版本,然后选1.8的64位那个安装

yum install java_1.8.0_openjdk.x86_64

或者从网站下载安装

tar -zxvf jre-8u271-linux-x64.tar.gz
mkdir /usr/lib/jvm
mv jre-8u271-linux-x64 /usr/lib/jvm
chown root:root -R /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64

java安装之后就开始设置环境变量

vi /etc/profile

#set java environment
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH

使之生效命令

source /etc/profile

或者

. /etc/profile

2、 zookeeper

装kafka的时候才知道,必须要先安装zookeeper

从官网下载了3.5.5的包

http://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/

tar zxvf apache-zookeeper-3.5.5-bin.tar.gz
cd apache-zookeeper-3.5.5-bin
cd conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

修改dataDir=后面的路径,就改成程序路径下,然后mkdirdata |cddata | mkdirzookeeper | mkdir log

修改环境变量/etc/profile

ZOOKEEPER_HOME=/root/hzt/apache-zookeeper-3.5.5-bin
PATH=$PATH:$ZOOKEEPER_HOME/bin

并生效

source /etc/profile

启动程序

sh zkServer.sh start

停止命令把start改成stop就行。

测试下可以用windows的cmd

telnet 替换实际的机器ip 2181

或者linux下看状态

shzkServer.shstatus

查看状态发现了一个状况

ZooKeeper JMX enabled by defaultUsing config: /home/opt/hz/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Error contacting service. It is probably not running.

查看logs文件夹下的.out文件

2020-12-14 16:59:13,825 [myid:] - INFO  [main:QuorumPeerConfig@385] - clientPortAddress is 0.0.0.0/0.0.0.0:2181
2020-12-14 16:59:13,825 [myid:] - INFO  [main:QuorumPeerConfig@389] - secureClientPort is not set
2020-12-14 16:59:13,830 [myid:] - INFO  [main:DatadirCleanupManager@78] - autopurge.snapRetainCount setto 3
2020-12-14 16:59:13,832 [myid:] - INFO  [main:DatadirCleanupManager@79] - autopurge.purgeInterval setto
 0
2020-12-14 16:59:13,832 [myid:] - INFO  [main:DatadirCleanupManager@101] - Purge task isnot scheduled.
2020-12-14 16:59:13,832 [myid:] - WARN  [main:QuorumPeerMain@125] -Either no config or no quorum define
d

zoo.cfg中datadir也配置过了,修改了下也没效果。然后把系统中开启的tomcat关掉后再启动就行了。不知道是不是跟8080端口被占用有关系

[opt@test bin]$ zkServer.sh status
ZooKeeper JMX enabled by defaultUsing config: /home/opt/hz/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone

3、安装kafka

从官网下载非源码版本的程序,带有src安装了会有问题

tar xzvf kafka_2.12-2.3.0.tgz

cdkafka_2.12-2.3.0

启动程序

bin/kafka-server-start.sh config/server.properties &

检测2181与9092端口

netstat -tunlp|egrep '(2181|9092)'

在用普通用户启动时候会报

Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate usingSASL (unknown error)
[ZooKeeperClient Kafka server] Closed. (kafka.zookeeper.ZooKeeperClient)
[ThrottledChannelReaper-Fetch]: Shutting down (kafka.server.ClientQuotaManager$ThrottledChannelReaper)
ERROR Exiting Kafka. (kafka.server.KafkaServerStartable)
换成root用户启动就好了,怀疑普通用户没有默认配置中跟路径权限。后期把配置修改下再试试。
功能测试,新开一个窗口作为生产者
运行producer
bin/kafka-console-producer.sh --broker-list 192.168.1.1:9092 --topic test
再开一个窗口作为消费者
sh kafka_2.13-2.5.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.1:9092 --topic test --from-beginning
然后生产者界面输入的内容会在消费者界面出现
4、客户端开发
从github上download相应的src,使用librdkafka
unzip librdkafka-master.zip
cd librdkafka-master
sh ./configure
make
sudo make install
https://github.com/edenhill/librdkafka
完了之后可以进examples文件夹中运行demo
生产者:
./producer kafka机器的ip:9092 topic
然后就可以丢数据进去了
消费者:
./consumer
kafka机器的ip:9092 groupid(Consumer group id) topics
可以订阅一个或者多个主题,组id的用途还没搞懂
如果遇到连接被kafka拒绝的情况,则需要修改下kafka的conf/server.properties中的listeners这项
本机运行的话可以改成
listeners=PLAINTEXT://localhost:9092

参考文档:
1、http://www.xwood.net/_site_domain_/_root/5870/5930/5932/t_c261426.html
2、https://www.cnblogs.com/wjup/p/11041274.html
3、https://blog.csdn.net/qq_41094332/article/details/104366315
4、https://www.cnblogs.com/justuntil/p/8033792.html
5、https://www.cnblogs.com/wangyangliuping/p/5546506.html

免责声明:文章转载自《linux上kafka搭建小结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下)《深度剖析CPython解释器》20. Python类机制的深度解析(第四部分): 实例对象的创建、以及属性访问下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

frp 开机自启动

frp 开机自启动 进入 frp 根目录的 systemd 文件夹 vim frps.service [Unit] Description=Frp Server Service After=network.target syslog.target [Service] Type=simple User=root Restart=on-failure R...

在Linux中监视IO性能

dd命令 iostat命令 理解iostat的各项输出 iostat的应用实例 附:在Windows中监视IO性能 延伸阅读 dd命令 dd其实是工作于比较低层的一个数据拷贝和转换的*nix平台的工具,但是因为dd命令支持*nix平台的一些特殊设备,因此我们可以利用dd命令的这个特性来简单的测试磁盘的性能。 先说一下两个相关的特殊设备...

Linux下安装Java(JDK8)

一、文件准备 1.1 文件名称 jdk-8u121-linux-x64.tar.gz 1.2 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 二、工具准备 2.1 Xshell 一个强大的安全终端模拟软件,它支持SSH1, S...

linux设备驱动 按键几种写法总结

对于基础按键的驱动,有如下几种写法: (1)查询 所谓查询方法,主要描述应用程序会在while(1)里面一直read,如果没有数据会导致阻塞,占用CPU;这种方法是最差的。 (2)中断 中断配合休眠会避免查询法占用CPU的缺点。 应用程序和查询法没有什么区别, 但是驱动里面的read函数会调用wait_event_interruptible, 直到按键产生...

04: gitlab安装与使用

1.1 gitlab安装(192.168.56.12中安装)   1、GitLab是什么?       1. GitLab实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。       2. GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。       3. 可以管理团队对仓库的访问,它非常易于浏览提交...

Linux xen 网桥配置

0.必须明白网桥工作在数据链路层,在eth0与eth1等之下,网桥收到数据包后根据MAC地址转发到与该网桥相连接的1或多个网卡,也就是说,如果网桥不正常工作机器就断网了(如果存在网桥的情况下) 1.XEN中的默认启动的网桥是xenbr0, 如果想更改成你自己创建的网桥,在/etc/xen/xend-config.sxp文件里更改,添加一行:(network...