Scala 环境
https://blog.csdn.net/hell_oword/article/details/119681824
下载:scala 2.12.14
解压之后放到你存放软件的位置,如 /opt/module
添加到环境变量:
vim ~/.zshrc
# scala
export PATH="/opt/module/scala-2.12.14/bin:$PATH"
测试
$ scala
Welcome to Scala 2.12.14 (OpenJDK 64-Bit Server VM, Java 1.8.0_312).
Type in expressions for evaluation. Or try :help.
scala> print("hello world")
hello world
Gradle
idea 自己会处理吧?
Kafka 工程
git clone https: //github. com/apache/kafka.git
然后用 idea 打开
右键运行,能看到下面的提示报错就算 ok 了
Zookeeper
下载:zookeeper 3.7.0
选这个:apache-zookeeper-3.7.0-bin.tar.gz
解压放到 /opt/module
进入到 conf 文件夹
# 把配置文件改名,不用改配置(或者根据需要自定义)
cp zoo_sample.cfg zoo.cfg
启动
$ bin/zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/module/apache-zookeeper-3.7.0-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
测试使用
$ bin/zkCli.sh
> ls /
Kafka 调试
https://blog.csdn.net/x763795151/article/details/119764422 https://www.cnblogs.com/fonxian/p/12105142.html
1、先启动 zookeeper
引入log4j依赖,这一步不用太麻烦,直接打开工程目录下的build.gradle文件,把这两行注释了:
修改日志配置
打开这个文件:
把下面的都注释了:
最开始这个也改下,只输出到控制台,我们是本地调试,能在idea的控制台看到日志就行,你们也可以根据自己需要调整:
#log4j.rootLogger=INFO, stdout, kafkaAppender
log4j.rootLogger=INFO, stdout
修改log4j 日志目录
# 在 log4j.properties 前面加一行
kafka.logs.dir=logs/my-kafka-log
4、指定 zookeeper 存放路径(可选)
不做的话会把 kafka 的东西都放在 zookeeper 根目录下
修改 config/server.properties
# 后面添加路径
# 如果有多个 zk,写的方式是 zk1:2181,zk2:2181,zk3:2181/xxx_your_path
zookeeper.connect=localhost:2181/kafka-2.5
- 配置启动参数
程序参数
jvm参数是刚才配置的那个日志文件,我们可以在控制台打印日志:config/server.properties
然后就能启动了-Dlog4j.configuration=file:config/log4j.properties
测试
1)打开 idea debug 模式
2)编译或下载客户端
(如果不想自己编译 kafka ,就去官网下一个客户端 https://kafka.apache.org/downloads)
3)测试
# 这里用的 3.x kafka,命令和 2.x 可能有所不同
# 创建 topic
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic first
Created topic first.
# 列出 topic
$ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
first
# 写入数据
$ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic first
>hello world
>hello simon
# 读取数据
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning
hello world
hello simon
执行上面的命令时,可以在对应的位置下断点调试
单机器多 broker 配置
查看 log 文件存了啥
bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files kafka-logs-2.5/my-top1-0/00000000000000000000.log --print-data-log