启动zookeeper容器
- 按照下图操作,启动zookeeper容器:
- 如下图,将容器名设为zookeeper,再点击高级设置:
- 将容器的2181端口和宿主机的2181端口绑定:
- 勾选向导完成后运行此容器,再点击应用就会启动容器:
- 可以在容器页查看启动情况:
接下来启动kafka;
启动kafka容器
- 在映像页面操作如下:
- kafka的容器设置比zookeeper略复杂一些,如下图,设置好名字后点击高级设置:
- 设置端口映射,这样内网环境都可以访问这个kafka了,用9092端口:
- 设置链接,如下图,这样的设置相当于docker的link参数,其实就是在kafka容器的/etc/hosts中配置了一条记录,hostname是zookeeper,IP地址是zookeeper容器的IP地址:
- 接下来需要增加三个环境变量,如下图:
KAFKA_ZOOKEEPER_CONNECT:zookeeper的访问地址,这里的zookeeper其实就是hostname,由于设置了link参数,因此直接用hostname就能访问到;
KAFKA_LISTENERS:内网连接方式,注意这里说的内网是指容器的网络;
KAFKA_ADVERTISED_LISTENERS:群晖服务器所在的家庭网络,对kafka而言其实是外部网络(kafka容器的IP和群晖的IP是不同网段),所以家庭网络中其他机器要想连接kafka,对kafka而言就是外网机器要来访问,因此要配置KAFKA_ADVERTISED_LISTENERS,这里配置的就是群晖自己的IP;
- 设置完毕后,勾选向导完成后运行此容器,再点击应用就会启动容器:
- 收到弹窗提示(挺有道理的…):
现在kafka部署和启动都成功了,接下来验证这个服务在家庭内网是否可用;
验证
- 最直接的验证方式就是命令行操作,先设置群晖允许SSH登录,如下图操作:
- 如下图,勾选启用SSH功能,端口就用22:
- 现在用SSH终端即可登录群晖了,我这里是在MacBook Pro电脑上用iTerm软件登录的,您可以选用任意SSH终端工具,账号密码就是能登录群晖的账号密码,如下图,登录后,就可以使用日常的linux命令了:
- 查看当前topic,命令是:
sudo docker exec kafka bash -c “cd /opt/kafka/bin/ && ./kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list”
如上图所示,一个Topic都没有;
5. 创建topic,命令是:
sudo docker exec kafka bash -c “cd /opt/kafka/bin/ && ./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test001”
- 再次查看topic,这回有数据了:
- 有了topic,来试试消息的创建和消费,执行以下命令,进入创建消息的对话模式(注意要带-it参数,才能继续输入信息):
sudo docker exec -it kafka bash -c “cd /opt/kafka/bin/ && ./kafka-console-producer.sh --broker-list kafka:9092 --topic test001”
- 再打开一个窗口,ssh登录群晖,执行以下命令,用来消费test001这个主题,一旦这个主题有了消息会立即在此打印出来:
sudo docker exec -it kafka bash -c “cd /opt/kafka/bin/ && ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test001 --consumer-property group.id=old-consumer-test --consumer-property consumer.id=old-consumer-cl --from-beginning”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
![img](https://i-blog.csdnimg.cn/blog_migrate/bd2e1d216546d9aeeb4ab29bba379406.jpeg)
最后
对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
**
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
[外链图片转存中…(img-Xf4Y8RWO-1712507588899)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!