写在前面:为了避免重复造轮子,文中只写了重要步骤,其他的已经贴上参考链接。

1.安装ZK

1.1 说明

环境:win10 apche zookeeper最新版

说明:Windows zk的安装比较简单,解压,配置即可

1.2 下载

http://www.apache.org/dyn/closer.cgi/zookeeper/

随便选择一个地址,点击进入

消费kafka到mysql_kafka


选择合适的版本下载,下载

消费kafka到mysql_zookeeper_02

1.3 解压到一个目录

消费kafka到mysql_kafka_03

1.4 修改配置文件

Step1:复制zoo_sample.cfg副本并将副本重命名为zoo.cfg,或者直接修改副本名字为zoo.cfg也可

Step2: 修改dataDir的地址,新增dataLogDir地址

注意:java中是斜杠,不是反斜杠,不要直接复制目录结构,复制出来的是反斜杠,会出错

消费kafka到mysql_kafka_04


消费kafka到mysql_kafka_05


若写成如下这样,则生成的路径如下,要特别注意这个问题

消费kafka到mysql_消费kafka到mysql_06

消费kafka到mysql_zookeeper_07

1.5 启动服务

D:\java_study\apache-zookeeper-3.6.1-bin\bin路径下cmd中依次启动zkServer.cmd zkCli.cmd

Win10:shift+鼠标右键,然后选择“在此处打开powershell”窗口,在窗口中输入“start cmd”

Win10之前:shift+鼠标右键,直接选择启动cmd

消费kafka到mysql_zookeeper_08

出现如下关键字,表明服务端启动成功:--如果后需要测试KAFKA,不要关

消费kafka到mysql_redis_09

出现如下关键字,表明客户端启动成功:

消费kafka到mysql_kafka_10

1.6 Zk配置文件简单的解析

消费kafka到mysql_redis_11

1.7 常见问题的处理

1.7.1 ZK启动的时候闪退

排错,在bin文件夹里找到zkServer.cmd,在最后加上pause,如下所示,再根据具体的提示修改问题

消费kafka到mysql_zookeeper_12

1.7.2 ZK找不到主类 org.apache.zookeeper

消费kafka到mysql_消费kafka到mysql_13

下载版本的问题,要下载二进制包,也就是带-bin结尾的包,不带bin的是源码包

消费kafka到mysql_kafka_14

1.7.3 ZK显示8080端口被占用

消费kafka到mysql_kafka_15

  • 原因
    本地启动了tomcat,但是没有修改tomcat的端口号,8080端口被tomcat占用了。
  • 拓展知识
    ZK的端口号
    监听cilent的端口号:2181
    Leader和flower通信的端口号:2888
    选举leader时通信的端口号:3888
    其他服务与监控中心通信的端口号:7070
    zookeeper最近的版本中有个内嵌的管理控制台是通过jetty启动,也会占用8080 端口。
  • 解决方法:
    方案一:修改ZK的8080端口占用
    (1)删除jetty。
    (2)修改端口。
    修改方法的方法有两种,一种是在启动脚本中增加 -Dzookeeper.admin.serverPort=你的端口号.一种是在zoo.cfg中增加admin.serverPort=没有被占用的端口号
    (3)停用这个服务,在启动脚本中增加"-Dzookeeper.admin.enableServer=false"
    方案二:修改tomcat的8080端口占用
    在conf路径下,找到server.xml文件,修改HTTP协议的connector,将其端口号改为没有被占用的即可。

1.7.4 Error:JAVA_HOME is not set

消费kafka到mysql_消费kafka到mysql_16

  • 问题
    java的环境变量没有找到,理论上来说JAVA配置好了不会出现,但是网上还是看到了,仅作一下记录
  • 解决方案
    在zk解压目录下的bin文件夹下zkEnv.cmd这个文件中,加上JAVA_HOME环境变量

1.8 参考网址https://www.pianshen.com/article/4581728933/

2 安装kafka

2.1 说明
环境:win10 kafka最新版
说明:Kafka的安装也比较简单,简单的配置即可

2.2 kafka下载

推荐官网,下载二进制

消费kafka到mysql_redis_17

2.3 解压到一个目录
例如:C:\java_study\kafka_2.12-2.5.0

2.4 修改配置文件
进入config目录,修改server.config文件,修改日志路径和和zk端口号(如果没有变则不用改),其他的默认,暂时不用改
注意:win10如果分隔符如下所示,则路径会也会有意想不到的错误,所以一定要注意分隔符的左倾斜还是右倾斜

日志:log.dirs=D:\java_study\kafka_2.12-2.5.0\kafka-logs
ZK:zookeeper.connect=localhost:2181

注意:以下的操作都是在kafka_2.12-2.5.0\bin\windows文件夹下操作的!!!!

2.5 启动kafka
在C:\java_study\kafka_2.12-2.5.0目录下,打开cmd,启动kafka
注意:kafka的启动依赖于ZK,所以前面启动的zkServer.cmd不能关

.\bin\windows\kafka-server-start.bat .\config\server.properties

或者linux下

bin\kafka-server-start.sh config\server.properties

2.6 创建一个topic
在C:\java_study\kafka_2.12-2.5.0\bin\windows目录下,打开cmd

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

2.7查看一个topic
在C:\java_study\kafka_2.12-2.5.0\bin\windows目录下,打开cmd

kafka-topics.bat --list --zookeeper localhost:2181

2.8 创建一个生产者
注意,该窗口不要关
在C:\java_study\kafka_2.12-2.5.0\bin\windows目录下,打开cmd

kafka-console-producer.bat --broker-list localhost:9092 --topic test

2.9 创建一个消费者
这个cmd窗口必须重新打开
在C:\java_study\kafka_2.12-2.5.0\bin\windows目录下,打开cmd

kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

此时在生产者中发送消息,消费者中能同步接收到

3. 安装MySql

3.1 说明
环境:win10 mysql-installer-community-5.7.31.0.msi
安装功能:我们安装数据库只需要测试用,所以无需安装所有的服务,只需要安装sql Server即可

3.2 安装

Mysql的安装参考的上面的链接即可

注意点:请先阅读以下的注意点,然后再看上面的链接安装

(1)安装过程中出现安装失败,提示Microsoft Visual C++ 2013 Redistributable Package (x64) is not installed,去官网下载对应的软件安装即可。百度有的人说下载32位的就可以了,亲测32位的不行。

消费kafka到mysql_zookeeper_18

(2)若在安装msi之前,安装过解压版的,则需要先卸载解压版的
首先要杀掉相关的进程:ctrl+alt+delete选择mysql进程杀掉
用sc delete mysql卸载掉服务(对应的安装为mysqld -install), 可以参考mysql安装失败

(3)参考链接中的如下箭头所示的地方,需要在服务启动后测试,服务都没有启动,肯定链接不上数据库,文章中没有指出来,要注意。如果启动服务,文章中的第四步就是。

消费kafka到mysql_zookeeper_19

3.3 忘记密码

4. 安装dubbo

4.1 说明
环境:win10 dubbo2.5.x版本,dubbo2.6.0以后版本没有admin控制台了
下载:https://github.com/apache/dubbo 注意:启动dubbo前必须要先启动ZK

4.2 安装

4.2.1 下载

Github官网搜apache/dubbo,选择2.5.X版本下载

消费kafka到mysql_zookeeper_20

4.2.2 配置文件

Dubbo的环境变量配置非常简单,只需要配置WEB-INF下面的dubbo.properties即可,

配置ZK注册中心

消费kafka到mysql_kafka_21

4.2.3 打包

进入到dubbo-admin目录下,打开cmd,执行mvn package,会出现build success

消费kafka到mysql_消费kafka到mysql_22

4.2.4 测试

在dubbo-admin的target文件夹下会有一个war包,直接将war包拷贝至tomcat的webapps下面,启动tomcat,war会自动解压

消费kafka到mysql_zookeeper_23

启动完成后在浏览器输入:http://localhost:8080/dubbo-admin-2.5.10/,用户名密码都是root

消费kafka到mysql_redis_24

登录成功后如下所示

消费kafka到mysql_zookeeper_25

5. 安装redis

5.1 说明
环境:win10 redis3.2.100
安装功能:redis的安装很简单,直接解压安装服务就好

5.2 安装

5.2.1下载

redis的windows版本目前最新的是redis3.2.100版本

地址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

消费kafka到mysql_消费kafka到mysql_26

5.2.2 解压

将下载的Redis-x64-3.2.100.zip 解压到某个地址,如下图所示:

消费kafka到mysql_消费kafka到mysql_27

在解压目录下,cmd中执行redis-server.exe启动服务 ,出现如下界面表明启动成功

消费kafka到mysql_zookeeper_28

在解压目录下,cmd启动客户端服务:redis-cli.exe 启动客户端,出现如下界面表明启动成功

消费kafka到mysql_zookeeper_29

以上,如果窗口关闭了,那么redis服务就停止了,所以我们必须把服务安装成windows的服务
由于上面虽然启动了redis服务,但是是临时的,只要一关闭cmd窗口,redis服务就关闭了。所以,把redis设置为一个常驻的windows服务。

5.2.3 配置环境变量

环境变量可以配置也可以不配置,配置了的好处就是执行相关的命令不用再到其文件夹下了,建议配置

消费kafka到mysql_消费kafka到mysql_30

5.2.4 安装为windows服务
Win+R+Service.mcs打开本地服务列表,是没有redis服务的

安装命令: redis-server.exe --service-install redis.windows.conf 使用命令,安装成功,如图所以:

消费kafka到mysql_zookeeper_31

重新查看本地服务列表,redis服务安装成功

最后的参数 --loglevel verbose表示记录日志等级

消费kafka到mysql_消费kafka到mysql_32

5.2.5 常用的redis服务命令
配置完环境变量以后直接打开一个cmd即可执行
卸载服务

redis-server --service-uninstall

开启服务

redis-server --service-start

停止服务

redis-server --service-stop

重命名服务

redis-server --service-name name

5.2.6 常用的redis客户端命令
配置完环境变量以后直接打开一个cmd即可执行,cmd中先启动客户端
设置一个值

set key value

查看一个值

get key

查看所有的key

keys *

删除一个值

del key

消费kafka到mysql_kafka_33