Scala 环境

https://blog.csdn.net/hell_oword/article/details/119681824

下载:scala 2.12.14
解压之后放到你存放软件的位置,如 /opt/module

添加到环境变量:

  1. vim ~/.zshrc
  2. # scala
  3. export PATH="/opt/module/scala-2.12.14/bin:$PATH"

测试

  1. $ scala
  2. Welcome to Scala 2.12.14 (OpenJDK 64-Bit Server VM, Java 1.8.0_312).
  3. Type in expressions for evaluation. Or try :help.
  4. scala> print("hello world")
  5. hello world

Gradle

idea 自己会处理吧?

Kafka 工程

  1. git clone https: //github. com/apache/kafka.git

然后用 idea 打开

右键运行,能看到下面的提示报错就算 ok 了
image.png

Zookeeper

下载:zookeeper 3.7.0
选这个:apache-zookeeper-3.7.0-bin.tar.gz

解压放到 /opt/module

进入到 conf 文件夹

  1. # 把配置文件改名,不用改配置(或者根据需要自定义)
  2. cp zoo_sample.cfg zoo.cfg

启动

  1. $ bin/zkServer.sh start
  2. /usr/bin/java
  3. ZooKeeper JMX enabled by default
  4. Using config: /opt/module/apache-zookeeper-3.7.0-bin/bin/../conf/zoo.cfg
  5. Starting zookeeper ... STARTED

测试使用

  1. $ bin/zkCli.sh
  2. > ls /

Kafka 调试

https://blog.csdn.net/x763795151/article/details/119764422 https://www.cnblogs.com/fonxian/p/12105142.html

1、先启动 zookeeper

  1. 引入log4j依赖,这一步不用太麻烦,直接打开工程目录下的build.gradle文件,把这两行注释了:
    image.png

  2. 修改日志配置
    打开这个文件:
    image.png

把下面的都注释了:
image.png

最开始这个也改下,只输出到控制台,我们是本地调试,能在idea的控制台看到日志就行,你们也可以根据自己需要调整:

  1. #log4j.rootLogger=INFO, stdout, kafkaAppender
  2. log4j.rootLogger=INFO, stdout

修改log4j 日志目录

  1. # 在 log4j.properties 前面加一行
  2. kafka.logs.dir=logs/my-kafka-log

4、指定 zookeeper 存放路径(可选)
不做的话会把 kafka 的东西都放在 zookeeper 根目录下
修改 config/server.properties

  1. # 后面添加路径
  2. # 如果有多个 zk,写的方式是 zk1:2181,zk2:2181,zk3:2181/xxx_your_path
  3. zookeeper.connect=localhost:2181/kafka-2.5
  1. 配置启动参数
    image.png
    程序参数
    1. config/server.properties
    jvm参数是刚才配置的那个日志文件,我们可以在控制台打印日志:
    1. -Dlog4j.configuration=file:config/log4j.properties
    然后就能启动了

测试

1)打开 idea debug 模式
2)编译或下载客户端
(如果不想自己编译 kafka ,就去官网下一个客户端 https://kafka.apache.org/downloads
3)测试

  1. # 这里用的 3.x kafka,命令和 2.x 可能有所不同
  2. # 创建 topic
  3. $ bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --replication-factor 1 --partitions 1 --topic first
  4. Created topic first.
  5. # 列出 topic
  6. $ bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
  7. first
  8. # 写入数据
  9. $ bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic first
  10. >hello world
  11. >hello simon
  12. # 读取数据
  13. $ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic first --from-beginning
  14. hello world
  15. hello simon

执行上面的命令时,可以在对应的位置下断点调试

单机器多 broker 配置

https://blog.51cto.com/binghe001/2926205

查看 log 文件存了啥

  1. bin/kafka-run-class.sh kafka.tools.DumpLogSegments --files kafka-logs-2.5/my-top1-0/00000000000000000000.log --print-data-log