前言
在生成后工程的 zz-resource/docker-files/ 目录下,橙单为您提供了一组 docker-compose.yml 文件。其中囊括了除 SkyWalking 之外,所有第三方服务中间件的 docker 启动脚本。如果您计划以 docker-compose 的方式启动所有第三方服务,本章则仅需参考 SkyWalking 服务的本地安装小节,其余部分皆可跳过。
请先阅读后端工程目录下的 README.md 文件,以确定哪些组件为该工程整体运行时所需的必选组件。另外,本章所述的第三方服务中间件的安装、配置和启动方式,仅限于本地开发调试时使用。生产环境部署,请根据实际项目需求自行搭建。
适用人群
- 本机环境没有安装 docker,计划手动搭建开发环境的用户。
- 参考 SkyWalking 服务的手动搭建过程。
- 参考第三方服务中间件启动后,管理控制台的访问方式。
Redis
- 目前使用版本 Redis 4.0+。
- 推荐安装教程 菜鸟教程。Mac 系统请参考文中 Linux 下的安装和启动方式。
- 推荐免费桌面客户端工具 AnotherRedisDesktopManager,感谢作者。
RocketMQ
如果生成后工程的 docker-compose.yml 中包含 RocketMQ 服务的启动项,那么他就是必选组件。
重点,敲黑板!由于这个配置非常重要,我们在开头处先给出说明,具体见下图。
- 目前使用版本 RocketMQ 4.7.0。
- RocketMQ 控制台。Github
- 下载后进入 rocketmq-console 目录,考虑到默认监听端口是 8080,很容易产生冲突,建议修改,见下图。如不修改,可以直接忽略该步骤。
- 修改后,在 rocketmq-console 目录下执行 mvn clean install -DskipTests
- 启动 rocketmq-console。注意在启动 rocketmq 控制台之前,务必先启动 RocketMQ 服务。启动方式见下图。
- 控制台访问 http://localhost:8080 (或者是你修改后的端口号)。
Zookeeper
- 目前使用版本 Zookeeper 3.5.5。Download
- 仅下载 apache-zookeeper-3.5.5-bin.tar.gz 文件才可以正常启动。
- 进入解压后的 conf 目录,复制 zoo_sample.cfg 为 zoo.cfg,并修改 zoo.cfg 中的 dataDir 配置项为本地可访问目录即可。
- 启动 Zookeeper 服务器,在 Zookeeper 解压后的 bin 目录下执行。
# Windows 环境
./zkServer.cmd
# Mac 和 Linux 环境
./zkServer.sh start
- 推荐一款开源的图形化控制台工具 zkui,感谢作者。
Kafka
微服务工程必选组件。启动前必须先行启动 Zookeeper。
- 目前使用版本 Kafka_2.12-2.4.0。 Download
- 启动 Kafka,在解压后的目录下执行。
# Windows 环境
./bin/windows/kafka-server-start.bat ./config/server.properties
# Mac 和 Linux 环境
./bin/kafka-server-start.sh ./config/server.properties &
- 推荐一款可免费使用的图形化客户端工具 Kafka Tool。
Minio
- 目前使用版本 8.x。
- 目前仅提供 docker-compose 安装和启动方式,对外暴露端口为 19000。
- 在工程的 zz-resource/docker-files 子目录下,执行 docker-compose up -d 即可启动。
- 访问控制台,需要为 Nginx 添加如下配置,配置完成后,启动 Nginx。访问地址为 http://localhost:8999。缺省用户名密码:admin/admin123456。
server {
# 该端口可根据实际情况调整,只要不与其他服务冲突即可。
listen 8999;
server_name localhost;
location /{
proxy_set_header Host $http_host;
# 这里的19000接口,就是上面提到的minio在docker中对外暴露的端口。
proxy_pass http://localhost:19001;
}
location ~ /\.ht {
deny all;
}
}
Nacos
微服务注册中心和配置中心组件,具体安装步骤如下。
- 目前使用版本 1.2.x。Download
- 启动 Nacos,在解压后的目录下执行。
cd bin
# Window 环境
cmd startup.cmd
# Mac 和 Linux 环境
./startup.sh -m standalone
- 访问管理控制台,在浏览器输入 http://localhost:8848/nacos/ ,用户名密码均为 nacos。
Sentinel
微服务限流及熔断降级组件 Sentinel 的控制台管理工具,具体安装步骤如下。
- 目前使用版本 1.7.x,下载文件为 sentinel-dashboard-$VERSION.jar。Download
- 由于下载的是 jar 文件,因此可在下载目录直接执行。
# 启动时请务必将缺省端口 8080 修改为 8858,在生成工程的配置文件中,我们均使用了 8858 端口。
java -Dserver.port=8858 -jar sentinel-dashboard-$VERSION.jar
- 访问管理控制台,在浏览器输入 http://localhost:8858/ ,端口号为启动时指定的端口号 8858。用户名密码均为 sentinel。
- 最后强烈推荐 Sentinel 的 官方文档。
ELK
微服务工程可选组件,是 (ElasticSearch + Logstash + Kibaba) 的缩写。由于 ELK 在运行时会占用较多的系统资源,因此,在正常的开发和调试过程中不建议启动。仅当在部署集成测试之前,需要验证整个微服务系统的日志跟踪与收集链路是否畅通时,可先在本机尝试启动并予以验证。当前文档并未提供 ELK 的本地安装说明,如需要,仅能通过 docker-compose 方式启动,见如下命令。
# 在后端工程的根目录下
cd zz-resource/docker-files
# 启动服务
docker-compose -f docker-compose-full.yml up
成功启动后,访问 http://localhost:5601 即可进入 Kibana 主页。
PinPoint
微服务工程可选组件。
- 目前使用版本 PinPoint 2.4.2。Download
- 我们在生成的工程中,为您提供了 PinPoint 推荐版本的 docker 文件 (推荐此方式搭建环境)。
- 控制台访问地址 http:// localhost:8080。如果修改控制台服务的默认端口号,打开 ./zz-resource/pinpoint-docker-2.4.2/.env 文件,修改 WEB_SERVER_PORT 的配置值即可。
- 在 PinPoint 官方提供的 docker-compose.yml 启动脚本中,包含了自带 MySQL 的启动,如果当前主机也安装了 MySQL,就有可能导致端口冲突。可如下图所示,修改 docker-compose.yml 中 MySQL 的对外映射端口。
- 通过 docker 方式启动 PinPoint 服务,在工程目录下执行。
cd zz-resource/pinpoint-docker-2.4.2/
# 第一次启动时先执行该命令。之后的启动可以不用多次执行。
docker-compose pull
docker-compose up
SkyWalking
微服务工程可选组件。
- 推荐版本 SkyWalking 8.1.x。Download。
- 修改缺省 Web 访问端口 (可选操作)。SkyWalking Web 服务的缺省监听端口为 8080,很容易和其他服务产生端口冲突,如上述的 XXL-Job 调度服务。修改方式为,在解压后的 webapp 子目录下,打开 webapp.yml 文件,将缺省的 8080 改为新端口号即可,推荐使用 8095。
- 启动 SkyWalking,在解压后的目录下执行。
cd bin
# Windows 环境
startup.bat
# Mac 和 Linux 环境
./startup.sh
- 访问 SkyWalking 监控页面 http://localhost:8080。如果修改了 Web 端口,这里也需要相应的调整,如 http://localhost:8095。
- SkyWalking Agent 的配置,会在 系统启动 的微服务启动小节中介绍。
结语
赠人玫瑰,手有余香,感谢您的支持和关注,选择橙单,效率乘三,收入翻番。