1.背景
对于开发人员来说,开发之前需要很多基础环境,如:Mysql、Mongo、RocketMq、Redis、Elk、Eureka等。
如果按照普通的步骤来操作的话,对于新手来说,估计需要很长的时间,一周、甚至会更长。
通过docker-compose可以实现一套完整的方案,来快速搭建上述所需的基础环境,做成脚本执行的话,搭建也就是分分钟的事情了,闲话不多说,看招吧。
2.安装docker
mkdir -p /opt/wms cd /opt/wms wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz tar -xvf docker-20.10.9.tgz [root@vm100 wms]# tree ./ ./ ├── docker │ ├── containerd │ ├── containerd-shim │ ├── containerd-shim-runc-v2 │ ├── ctr │ ├── docker │ ├── dockerd │ ├── docker-init │ ├── docker-proxy │ └── runc └── docker-20.10.9.tgz # 创建docker管理文件 cat > /usr/lib/systemd/system/docker.service << EOF [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/local/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target EOF # 设置docker镜像加速等配置 mkdir -p /etc/docker tee /etc/docker/daemon.json << 'EOF' { "registry-mirrors": ["https://ung2thfc.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "50m" }, "storage-driver": "overlay2" } EOF #拷贝文件 cp /opt/wms/docker/* /usr/local/bin #启动并设置开机启动 [root@vm100 wms]# systemctl daemon-reload && systemctl start docker && systemctl enable docker && systemctl status docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2022-04-13 22:33:36 CST; 88ms ago Docs: https://docs.docker.com Main PID: 1151 (dockerd) CGroup: /system.slice/docker.service ├─1151 /usr/local/bin/dockerd └─1157 containerd --config /var/run/docker/containerd/containerd.toml --log-level info Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.345806072+08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.535456798+08:00" level=warning msg="Your kernel does not support cgroup blkio weight" Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.535816941+08:00" level=warning msg="Your kernel does not support cgroup blkio weight_device" Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.536671027+08:00" level=info msg="Loading containers: start." Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.653739581+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip c...ed IP address" Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.700036194+08:00" level=info msg="Loading containers: done." Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.719819533+08:00" level=info msg="Docker daemon" commit=79ea9d3 graphdriver(s)=overlay2 version=20.10.9 Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.720340336+08:00" level=info msg="Daemon has completed initialization" Apr 13 22:33:36 vm100 systemd[1]: Started Docker Application Container Engine. Apr 13 22:33:36 vm100 dockerd[1151]: time="2022-04-13T22:33:36.770577914+08:00" level=info msg="API listen on /var/run/docker.sock" Hint: Some lines were ellipsized, use -l to show in full. #打印相关信息 docker info
3.安装docker-compose
wget https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 chmod +x docker-compose-linux-x86_64 cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 打印docker-compose当前版本 [root@vm100 wms]# docker-compose --version Docker Compose version v2.4.1
4.拉取镜像
假如我们需要用到Mysql、Redis、Mongo、Zookeeper、Eureka、RocketMq、ELK等基础环境,为了方便以后的加速启动,建议将镜像包提前下载到本地。
# 以下这些镜像可以提前拉取到本地,也可以做成离线镜像包,然后从离线镜像包中加载出来。 [root@vm100 wms]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE #################充分利用你的网速吧##################### docker pull mysql:8.0.22 docker pull mongo:5.0.7-focal docker pull redis:5.0.14-alpine3.15 docker pull foxiswho/rocketmq:4.8.0 docker pull styletang/rocketmq-console-ng:1.0.0 docker pull elasticsearch:7.16.2 docker pull logstash:7.16.2 docker pull kibana:7.16.2 docker pull springcloud/eureka docker pull zookeeper:3.8.0 ######################################################## #这是我努力的结果喽,看你的啦 [root@vm100 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mongo 5.0.7-focal b21ad2afe409 41 hours ago 700MB elasticsearch 7.16.2 66c29cde15ce 3 months ago 646MB logstash 7.16.2 b2e5a301659d 3 months ago 997MB kibana 7.16.2 8c46ec23123e 3 months ago 1.3GB redis 5.0.14-alpine3.15 1746b159f893 4 months ago 29.4MB foxiswho/rocketmq 4.8.0 98bc46e1c0c1 14 months ago 505MB mysql 8.0.22 d4c3cafb11d5 15 months ago 545MB styletang/rocketmq-console-ng 1.0.0 7df83bb6e638 4 years ago 702MB springcloud/eureka latest 3094afcbdf12 7 years ago 660MB
请将第5~10步完成后,存放成一个shell文件,详见第11步操作。
5.环境清理
为了实现脚本的可重复执行,每次启动前,都安排执行了环境清理的动作。
5.1停止所有基础环境
#停止本地电脑上的所有环境 docker-compose down
5.2停止并删除所有基础环境容器
#停止本地电脑上的所有环境容器进程 docker stop `docker ps -aq` #删除本地电脑上的所有环境容器进程(此操作是个危险活,见过“一条命令就删干净,然后跑路”的吗? #三思而后行啊,呵呵呵呵! docker rm `docker ps -aq`
6.创建目录
6.1创建Mysql目录
mkdir -p /opt/wms/mysql/data chmod -R 755 /opt/wms/mysql rm -rf /opt/wms/mysql/data/*
6.2创建mongo目录
mkdir -p /opt/wms/mongo/{data,config} chmod -R 755 /opt/wms/mongo rm -rf /opt/wms/mongo/data/* rm -rf /opt/wms/mongo/config/*
6.3创建redis目录
mkdir -p /opt/wms/redis/data chmod -R 755 /opt/wms/mongo rm -rf /opt/wms/redis/data/*
6.4创建rocketmq目录
mkdir -p /opt/wms/rocketmq/conf chmod -R 755 /opt/wms/rocketmq rm -rf /opt/wms/rocketmq/conf/*
7.准备配置文件
这里仅在启动rocketMq时,用到了配置文件,如有其他的需求,请自行处理,绝不阻拦!
cat > /opt/wms/rocketmq/conf/broker.conf << EOF brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1 = 192.168.123.100 #替换成你的电脑IP即可 EOF
8.清理docker-compose.yaml文件
rm -rf /opt/wms/docker-compose.yaml
9.写入docker-compose.yaml文件
cat > /opt/wms/docker-compose.yaml << EOF version: '3.1' services: # MYSQL mysql8: image: mysql:8.0.22 #镜像 container_name: mysql8 #容器名称 mem_limit: 512m #限制内存 restart: always environment: #环境配置 MYSQL_ROOT_PASSWORD: wms123456 command: #启动参数 --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: #对外暴露的端口 - 3306:3306 volumes: #挂载的卷 - /opt/wms/mysql/data:/var/lib/mysql-files #Mongo部分(同上) mongo5: image: mongo:5.0.7-focal container_name: mongo5 mem_limit: 256m restart: always ports: - "27017:27017" volumes: - /opt/wms/mongo/data:/data/db - /opt/wms/mongo/config:/data/configdb environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: wms123456 #Redis部分(同上) redis5: image: redis:5.0.14-alpine3.15 container_name: redis5 mem_limit: 256m restart: always command: ["redis-server" ,"--appendonly" ,"yes"] ports: - "6379:6379" volumes: - /opt/wms/redis/data:/data #Eureka部分(同上) eureka: image: springcloud/eureka:latest container_name: eureka mem_limit: 256m environment: eureka.server.enable-self-preservation: false eureka.client.register-with-eureka: false eureka.client.healthcheck.enabled: false eureka.instance.prefer-ip-address: false ribbon.eureka.enabled: false hostname: eureka restart: always ports: - 8761:8761 #RocketMq服务端(同上) mqnamesrv: image: foxiswho/rocketmq:4.8.0 container_name: mqnamesrv mem_limit: 512m ports: - 9876:9876 environment: JAVA_OPT_EXT: "-server -Xms256m -Xmx256m" command: sh mqnamesrv #RocketMq的Broker(同上) mqbroker: image: foxiswho/rocketmq:4.8.0 container_name: mqbroker mem_limit: 512m ports: - 10911:10911 - 10909:10909 volumes: - /opt/wms/rocketmq/conf:/usr/local/dockerCompose/rocketmq/conf environment: JAVA_OPT_EXT: "-server -Xms256m -Xmx512m -Xmn256m" NAMESRV_ADDR: mqnamesrv:9876 command: sh mqbroker -n mqnamesrv:9876 -c /usr/local/dockerCompose/rocketmq/conf/broker.conf #RocketMq的dashboard(同上) mqconsole: image: styletang/rocketmq-console-ng:1.0.0 container_name: mqconsole mem_limit: 256m ports: - 19876:8080 environment: JAVA_OPTS: -Drocketmq.namesrv.addr=mqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=falses #Zookeeper(同上) zookeeper: image: zookeeper:3.8.0 container_name: zookeeper3 mem_limit: 256m restart: always ports: - 2181:2181 #Elasticsearch(同上) elasticsearch: hostname: elasticsearch image: elasticsearch:7.16.2 container_name: elasticsearch restart: always ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 environment: - cluster.name=es-docker - node.name=node1 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms256m -Xmx256m" mem_limit: 512m ports: - 9200:9200 - 9300:9300 #Logstash(同上) logstash: image: logstash:7.16.2 container_name: logstash restart: always mem_limit: 256m environment: - "LS_JAVA_OPTS=-Xmx256m -Xms256m" ports: - 9600:9600 - 9601:9601 depends_on: - elasticsearch #Kibana(同上) kibana: image: kibana:7.16.2 container_name: kibana restart: always mem_limit: 256m ports: - 5601:5601 depends_on: - elasticsearch EOF
10.启动全部环境
docker-compose up -d
11.完整shell脚本
[root@vm100 wms]# vi start-deploment-env.sh echo -e "\e[1;31m停止所有基础环境中...\e[0m" docker-compose down echo -e "\e[1;31m关闭并删除所有docker进程中...\e[0m" docker stop `docker ps -aq` docker rm `docker ps -aq` echo -e "\e[1;31m创建相关目录....\e[0m" mkdir -p /opt/wms/mysql/data chmod -R 755 /opt/wms/mysql rm -rf /opt/wms/mysql/data/* mkdir -p /opt/wms/mongo/{data,config} chmod -R 755 /opt/wms/mongo rm -rf /opt/wms/mongo/data/* rm -rf /opt/wms/mongo/config/* mkdir -p /opt/wms/redis/data chmod -R 755 /opt/wms/mongo rm -rf /opt/wms/redis/data/* mkdir -p /opt/wms/rocketmq/conf chmod -R 755 /opt/wms/rocketmq rm -rf /opt/wms/rocketmq/conf/* echo -e "\e[1;31m写入rocketmq配置\e[0m" cat > /opt/wms/rocketmq/conf/broker.conf << EOF brokerClusterName = DefaultCluster brokerName = broker-a brokerId = 0 deleteWhen = 04 fileReservedTime = 48 brokerRole = ASYNC_MASTER flushDiskType = ASYNC_FLUSH brokerIP1 = 192.168.123.100 EOF echo -e "\e[1;31m清除docker-compose.yaml文件\e[0m" rm -rf /opt/wms/docker-compose.yaml echo -e "\e[1;31m写入docker-compose.yaml文件....\e[0m" cat > /opt/wms/docker-compose.yaml << EOF version: '3.1' services: mysql8: image: mysql:8.0.22 container_name: mysql8 mem_limit: 512m restart: always environment: MYSQL_ROOT_PASSWORD: wms123456 command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 ports: - 3306:3306 volumes: - /opt/wms/mysql/data:/var/lib/mysql-files mongo5: image: mongo:5.0.7-focal container_name: mongo5 mem_limit: 256m restart: always ports: - "27017:27017" volumes: - /opt/wms/mongo/data:/data/db - /opt/wms/mongo/config:/data/configdb environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: wms123456 redis5: image: redis:5.0.14-alpine3.15 container_name: redis5 mem_limit: 256m restart: always command: ["redis-server" ,"--appendonly" ,"yes"] ports: - "6379:6379" volumes: - /opt/wms/redis/data:/data eureka: image: springcloud/eureka:latest container_name: eureka mem_limit: 256m environment: eureka.server.enable-self-preservation: false eureka.client.register-with-eureka: false eureka.client.healthcheck.enabled: false eureka.instance.prefer-ip-address: false ribbon.eureka.enabled: false hostname: eureka restart: always ports: - 8761:8761 mqnamesrv: image: foxiswho/rocketmq:4.8.0 container_name: mqnamesrv mem_limit: 512m ports: - 9876:9876 environment: JAVA_OPT_EXT: "-server -Xms256m -Xmx256m" command: sh mqnamesrv mqbroker: image: foxiswho/rocketmq:4.8.0 container_name: mqbroker mem_limit: 512m ports: - 10911:10911 - 10909:10909 volumes: - /opt/wms/rocketmq/conf:/usr/local/dockerCompose/rocketmq/conf environment: JAVA_OPT_EXT: "-server -Xms256m -Xmx512m -Xmn256m" NAMESRV_ADDR: mqnamesrv:9876 command: sh mqbroker -n mqnamesrv:9876 -c /usr/local/dockerCompose/rocketmq/conf/broker.conf mqconsole: image: styletang/rocketmq-console-ng:1.0.0 container_name: mqconsole mem_limit: 256m ports: - 19876:8080 environment: JAVA_OPTS: -Drocketmq.namesrv.addr=mqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=falses zookeeper: image: zookeeper:3.8.0 container_name: zookeeper3 mem_limit: 256m restart: always ports: - 2181:2181 EOF echo -e "\e[1;31m启动所有基础环境中....\e[0m" docker-compose up -d echo -e "\e[1;31m请核对docker进程的状态\e[0m" docker ps -a # 给文件添加执行权限 [root@vm100 wms]# chmod +x start-deploment-env.sh
12.测试脚本文件
脚本顺利执行了,(提前下载好镜像包)分分钟就完成了全部环境的重启,是不是非常方便?
13.验证
也许你会怀疑?启动成功了?环境是正产的吗?OK,来验证一下吧。
13.1验证Msql
[root@vm100 wms]# docker exec -it `docker ps -a |grep mysql8 |awk '{print $1}'` /bin/sh # mysql -uroot -pwms123456 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.22 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'wms123456'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql>
13.2验证Mongo
[root@vm100 wms]# docker exec -it `docker ps -a |grep mongo5 |awk '{print $1}'` /bin/sh # mongo --port 27017 -u "root" -p "wms123456" --authenticationDatabase "admin" MongoDB shell version v5.0.7 connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("1639ca88-92b3-4d24-b218-8ba63a7a386e") } MongoDB server version: 5.0.7 ================ Warning: the "mongo" shell has been superseded by "mongosh", which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in an upcoming release. For installation instructions, see https://docs.mongodb.com/mongodb-shell/install/ ================ Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see https://docs.mongodb.com/ Questions? Try the MongoDB Developer Community Forums https://community.mongodb.com --- The server generated these startup warnings when booting: 2022-04-13T15:21:12.304+00:00: The configured WiredTiger cache size is more than 80% of available RAM. See http://dochub.mongodb.org/core/faq-memory-diagnostics-wt 2022-04-13T15:21:15.862+00:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never' --- --- Enable MongoDB's free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() --- > show dbs; admin 0.000GB config 0.000GB local 0.000GB
13.3验证Redis
[root@vm100 wms]# docker exec -it `docker ps -a |grep redis5 |awk '{print $1}'` /bin/sh /data # redis-cli 127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379>
13.4验证RocketMQ
在浏览器中访问“192.168.123.100:19876”
13.5验证Zookeeper
[root@vm100 wms]# docker exec -it `docker ps -a |grep zookeeper3 |awk '{print $1}'` /bin/sh # ls / apache-zookeeper-3.8.0-bin bin boot conf data datalog dev docker-entrypoint.sh etc home lib lib64 logs media mnt opt proc root run sbin srv sys tmp usr var # cd bin # zkCli.sh Connecting to localhost:2181 2022-04-13 15:32:17,313 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:zookeeper.version=3.8.0-5a02a05eddb59aee6ac762f7ea82e92a68eb9c0f, built on 2022-02-25 08:49 UTC 2022-04-13 15:32:17,322 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:host.name=cecfc8e976dd 2022-04-13 15:32:17,323 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.version=11.0.14.1 2022-04-13 15:32:17,324 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.vendor=Oracle Corporation 2022-04-13 15:32:17,326 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.home=/usr/local/openjdk-11 2022-04-13 15:32:17,328 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.class.path=/apache-zookeeper-3.8.0-bin/bin/../zookeeper-server/target/classes:/apache-zookeeper-3.8.0-bin/bin/../build/classes:/apache-zookeeper-3.8.0-bin/bin/../zookeeper-server/target/lib/*.jar:/apache-zookeeper-3.8.0-bin/bin/../build/lib/*.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/zookeeper-prometheus-metrics-3.8.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/zookeeper-jute-3.8.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/zookeeper-3.8.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/snappy-java-1.1.7.7.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/slf4j-api-1.7.30.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/simpleclient_servlet-0.9.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/simpleclient_hotspot-0.9.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/simpleclient_common-0.9.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/simpleclient-0.9.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-transport-native-unix-common-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-transport-native-epoll-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-transport-classes-epoll-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-transport-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-tcnative-classes-2.0.48.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-tcnative-2.0.48.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-resolver-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-handler-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-common-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-codec-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/netty-buffer-4.1.73.Final.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/metrics-core-4.1.12.1.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/logback-core-1.2.10.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/logback-classic-1.2.10.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jline-2.14.6.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-util-ajax-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-util-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-servlet-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-server-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-security-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-io-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jetty-http-9.4.43.v20210629.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/javax.servlet-api-3.1.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jackson-databind-2.13.1.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jackson-core-2.13.1.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/jackson-annotations-2.13.1.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/commons-io-2.11.0.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/commons-cli-1.4.jar:/apache-zookeeper-3.8.0-bin/bin/../lib/audience-annotations-0.12.0.jar:/apache-zookeeper-3.8.0-bin/bin/../zookeeper-*.jar:/apache-zookeeper-3.8.0-bin/bin/../zookeeper-server/src/main/resources/lib/*.jar:/conf: 2022-04-13 15:32:17,329 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.library.path=/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib 2022-04-13 15:32:17,330 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.io.tmpdir=/tmp 2022-04-13 15:32:17,331 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:java.compiler=<NA> 2022-04-13 15:32:17,333 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.name=Linux 2022-04-13 15:32:17,334 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.arch=amd64 2022-04-13 15:32:17,336 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.version=5.17.1-1.el7.elrepo.x86_64 2022-04-13 15:32:17,338 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:user.name=root 2022-04-13 15:32:17,339 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:user.home=/root 2022-04-13 15:32:17,340 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:user.dir=/apache-zookeeper-3.8.0-bin/bin 2022-04-13 15:32:17,341 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.memory.free=3MB 2022-04-13 15:32:17,341 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.memory.max=247MB 2022-04-13 15:32:17,342 [myid:] - INFO [main:o.a.z.Environment@98] - Client environment:os.memory.total=7MB 2022-04-13 15:32:17,346 [myid:] - INFO [main:o.a.z.ZooKeeper@637] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5fcd892a 2022-04-13 15:32:17,355 [myid:] - INFO [main:o.a.z.c.X509Util@77] - Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation 2022-04-13 15:32:17,362 [myid:] - INFO [main:o.a.z.ClientCnxnSocket@239] - jute.maxbuffer value is 1048575 Bytes 2022-04-13 15:32:17,376 [myid:] - INFO [main:o.a.z.ClientCnxn@1732] - zookeeper.request.timeout value is 0. feature enabled=false Welcome to ZooKeeper! 2022-04-13 15:32:17,399 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):o.a.z.ClientCnxn$SendThread@1171] - Opening socket connection to server localhost/127.0.0.1:2181. 2022-04-13 15:32:17,403 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):o.a.z.ClientCnxn$SendThread@1173] - SASL config status: Will not attempt to authenticate using SASL (unknown error) 2022-04-13 15:32:17,435 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):o.a.z.ClientCnxn$SendThread@1005] - Socket connection established, initiating session, client: /127.0.0.1:33770, server: localhost/127.0.0.1:2181 JLine support is enabled 2022-04-13 15:32:17,493 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):o.a.z.ClientCnxn$SendThread@1444] - Session establishment complete on server localhost/127.0.0.1:2181, session id = 0x100002fd6480000, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0] ls / [zookeeper]
13.6验证Eureka
在浏览器中访问”http://192.168.123.100:8761“
到此,上述基础环境全部验证完毕。因为本机内存的缘故,启动的时候,没有把ELK加进去,步骤是一致的。可另行在其他机器上单独部署。