前言:
博主从win换成mac后,想试着自己配一下docker环境,花了足足3到4天的时间。
由于中土存在各种中间件的兼容问题,mac版和win版的不一致,中间件版本过新等问题,且大多数博客对于版本的描述不够清晰,很难帮到忙,故博主斗胆记录一下,希望对大家有帮助。
环境:
- springboot: 2.7.0
- nacos: 2.1.0
- elasticsearch: 8.2.0
- kibana: 8.2.0
- springcloud: 2021.0.3
- springcloudalibaba: 2021.0.1
- mysql: 8.0.26
- redis: 7
- rabbitmq: 3.9.11
- jdk: 8
- kafka: 3.5.11
1、elasticsearch8.2.0
当es和kibana到达8版本后,出现了很多变化,而且兼容mac版本的镜像提示不够明确
可能出现的问题:
1、装好es之后你打开9200端口,发现他要求你输入密码,但是你其实根本就没有告诉你初始账号密码和默认的账号密码
解决方法:
csen@CsendeMBA Sen-Blog % docker exec -it (容器名字) /bin/bash
elasticsearch@52142308d267:~$ ls
LICENSE.txt README.asciidoc config jdk logs plugins
NOTICE.txt bin data lib modules
elasticsearch@52142308d267:~$ cd config
elasticsearch@52142308d267:~/config$ ls
certs jvm.options role_mapping.yml
elasticsearch-plugins.example.yml jvm.options.d roles.yml
elasticsearch.keystore log4j2.file.properties users
elasticsearch.yml log4j2.properties users_roles
elasticsearch@52142308d267:~/config$
你会看到有一个文件叫做elasticsearch.yml,我们需要做的就是修改这个文件
修改文件内容:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
# Enable security features
xpack.security.enabled: true
xpack.security.enrollment.enabled: true(可以先不加,上面的必须加)
当你修改之后,重启容器:
docker restart 容器名字
等重启之后,进入容器的es内部(可以直接docker desk客户端的cli那里,也可以像上面一样命令行)
/usr/share/elasticsearch/bin/x-pack/setup-passwords interactive
依此设置elastic、apm_system、kibana_system、logstash_system、beats_system、remote_monitoring_user6个用户的密码,每设置一个都要验证一次,所以要按12次,建议直接用一个密码就行,我用的是elastic
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana_system]:
Reenter password for [kibana_system]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_monitoring_user]
Changed password for user [elastic]
这时候登陆9200端口查看是否成功,如果成功他会返回一个json串,一看就知道成功的json串,有name clustername、version这些属性。