es-单机
# -- es 版本 7.9.3 docker pull elasticsearch:7.9.3
$ docker pull elasticsearch:7.9.3
# 在本地创建 三个目录
# 第一个 -v 挂载data
# 第二个 -v 挂载配置文件
# 第三个 -v 挂载插件 分词器
# 配置文件里只写如下一句话
http.host: 0.0.0.0
$ docker run -itd --name myes -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m"
-v /D/tool/elasticsearch/service/data:/usr/share/elasticsearch/data
-v /D/tool/elasticsearch/service/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /D/tool/elasticsearch/service/config/plugins:/usr/share/elasticsearch/plugins "imagsId"
es-cluster es集群
docker 命令
$ es 版本 7.9.3
# 拉镜像
$ docker pull elasticsearch:7.9.3
# 创建目录
# 1. data 空白目录
# 2. es的node配置文件 具体内容在下方贴出来了
# 3. 中文分词器 如果不需要可以不用挂载 我用的分词器是ik
# 开始运行 docker
# 节点1 的启动命令
$ docker run -itd --name es-node-one -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /D/tool/docker/elasticsearch/cluster/node-one/data:/usr/share/elasticsearch/data -v /D/tool/docker/elasticsearch/cluster/node-one/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /D/tool/docker/elasticsearch/cluster/node-one/config/plugins:/usr/share/elasticsearch/plugins "imagsId"
# 解释:
# 1. -v 挂载了三个目录
# 其一为 data目录 其二为yml配置文件 其三是中文分词插件
# 2. 1ab13f928dc8 为es的镜像id / docker images 查看 pull 下来的镜像id 然后替换即可
# 节点2 的启动命令
$ docker run -itd --name es-node-two -p 9220:9220 -p 9320:9320 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /D/tool/docker/elasticsearch/cluster/node-two/data:/usr/share/elasticsearch/data -v /D/tool/docker/elasticsearch/cluster/node-two/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /D/tool/docker/elasticsearch/cluster/node-two/config/plugins:/usr/share/elasticsearch/plugins "imagsId"
# 节点3 的启动命令
$ docker run -itd --name es-node-three -p 9230:9230 -p 9330:9330 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -v /D/tool/docker/elasticsearch/cluster/node-three/data:/usr/share/elasticsearch/data -v /D/tool/docker/elasticsearch/cluster/node-three/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /D/tool/docker/elasticsearch/cluster/node-three/config/plugins:/usr/share/elasticsearch/plugins "imagsId"
# 可以使用kibana 查看集群的状态
# es 版本 7.9.3
# kibana 版本 7.9.3
# 具体操作在最下方
检查集群情况
# 检查集群健康状况
# 可直接在页面访问 如下链接 查看单个node 情况
http://localhost:“nodePort”/
# 查看集群健康状况
http://localhost:“nodePort”/_cat/health?v
# 其他信息 可用
http://localhost:“nodePort”/_cat
node1.yml
cluster.name: elasticsearch-cluster
node.name: es-node-one
network.host: 0.0.0.0
# 注意这个 ip需要修改下
network.publish_host: node1的ip
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
# 注意这个 我的逻辑是1->2->3->1 1关联2 2关联3 3关联1
discovery.zen.ping.unicast.hosts: ["10.13.156.50:9330"]
discovery.zen.minimum_master_nodes: 2
node2.yml
http.host: 0.0.0.0
# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1
cluster.name: elasticsearch-cluster
node.name: es-node-two
network.host: 0.0.0.0
# 注意这个 ip需要修改下
network.publish_host: node1的ip
http.port: 9220
transport.tcp.port: 9320
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
# 注意这个 我的逻辑是1->2->3->1 1关联2 2关联3 3关联1
discovery.zen.ping.unicast.hosts: ["10.13.156.50:9300","10.13.156.50:9330"]
discovery.zen.minimum_master_nodes: 2
node3.yml
http.host: 0.0.0.0
# Uncomment the following lines for a production cluster deployment
#transport.host: 0.0.0.0
#discovery.zen.minimum_master_nodes: 1
cluster.name: elasticsearch-cluster
node.name: es-node-three
network.host: 0.0.0.0
# 注意这个 ip需要修改下
network.publish_host: node1的ip
http.port: 9230
transport.tcp.port: 9330
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
# 注意这个 我的逻辑是1->2->3->1 1关联2 2关联3 3关联1
discovery.zen.ping.unicast.hosts: ["10.13.156.50:9300","10.13.156.50:9320"]
discovery.zen.minimum_master_nodes: 2
kibana
# 版本 7.9.3
# docker pull kibana:7.9.3
$ docker run --name kibana -e ELASTICSEARCH_HOSTS=http://*.*.*.*:9200 -e SERVER_PORT=5601 -e SERVER_HOST=0.0.0.0 -p 5601:5601 -v /D/tool/docker/elasticsearch/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml "imagsId"
# 挂载yml 是适配 中文 需要在yml 中加 i18n.locale: zh-CN
# 全yml 如下
#################开始
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: zh-CN
################结束