部署规划
elasticsearch7.9.2
节点 | 挂载卷 | 端口映射(主机:容器) |
---|---|---|
192.168.1.75 | /data/elasticsearch/es1/{config,data,log} | “9200:9200” “9300:9300” |
192.168.1.75 | /data/elasticsearch/es2/{config,data,log} | “9201:9200” “9301:9300” |
192.168.1.75 | /data/elasticsearch/es3/{config,data,log} | “9202:9200” “9302:9300” |
Kibana7.9.2
节点 | 挂载卷 | 端口映射(主机:容器) |
---|---|---|
192.168.1.75 | /data/kibana/config | “5601:5601” |
镜像选择
docker pull elasticsearch:7.9.2
创建目录以及配置文件
mkdir -pv /data/elasticsearch/es1/{config,data,log}
mkdir -pv /data/elasticsearch/es2/{config,data,log}
mkdir -pv /data/elasticsearch/es3/{config,data,log}
目录赋权限
chmod 777 -R /data/elasticsearch/es1 &&
chmod 777 -R /data/elasticsearch/es2 &&
chmod 777 -R /data/elasticsearch/es3
添加es配置文件,分别在config目录创建文件
节点1
vim /data/elasticsearch/es1/config/es.yml
cluster.name: es-cluster
node.name: es-master
node.master: true
node.data: true
network.host: es-master
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["es-master:9300", "es-node1:9300", "es-node2:9300"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
cluster.initial_master_nodes: ["es-master"]
节点2
vim /data/elasticsearch/es2/config/es.yml
cluster.name: es-cluster
node.name: es-node1
node.master: true
node.data: true
network.host: es-node1
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["es-master:9300", "es-node1:9300", "es-node2:9300"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
cluster.initial_master_nodes: ["es-master"]
节点3
vim /data/elasticsearch/es3/config/es.yml
cluster.name: es-cluster
node.name: es-node2
node.master: true
node.data: true
network.host: es-node2
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["es-master:9300", "es-node1:9300", "es-node2:9300"]
discovery.zen.minimum_master_nodes: 2
discovery.zen.ping_timeout: 5s
bootstrap.memory_lock: true
action.destructive_requires_name: true
cluster.initial_master_nodes: ["es-master"]
创建编排 运行容器
- 创建docker-compose.yml文件
vim /data/elasticsearch/docker-compose.yml
version: "3"
services:
es-master:
image: elasticsearch:7.9.2
container_name: es-master
environment:
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
- "TZ=Asia/Shanghai"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9200:9200"
- "9300:9300"
logging:
driver: "json-file"
options:
max-size: "50m"
volumes:
- /data/elasticsearch/es1/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /data/elasticsearch/es1/data:/usr/share/elasticsearch/data
- /data/elasticsearch/es1/log:/usr/share/elasticsearch/log
networks:
- net-es
es-node1:
image: elasticsearch:7.9.2
container_name: es-node1
environment:
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
- "TZ=Asia/Shanghai"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9201:9200"
- "9301:9300"
logging:
driver: "json-file"
options:
max-size: "50m"
volumes:
- /data/elasticsearch/es2/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /data/elasticsearch/es2/data:/usr/share/elasticsearch/data
- /data/elasticsearch/es2/log:/usr/share/elasticsearch/log
networks:
- net-es
es-node2:
image: elasticsearch:7.9.2
container_name: es-node2
environment:
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
- "TZ=Asia/Shanghai"
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
ports:
- "9202:9200"
- "9302:9300"
logging:
driver: "json-file"
options:
max-size: "50m"
volumes:
- /data/elasticsearch/es3/config/es.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- /data/elasticsearch/es3/data:/usr/share/elasticsearch/data
- /data/elasticsearch/es3/log:/usr/share/elasticsearch/log
networks:
- net-es
networks:
net-es:
driver: bridge
- 到/data/elasticsearch/目录执行docker-compose命令运行
docker-compose up -d
docker ps -a
查看效果
安装Kibana7.9.2
安装步骤
- 下载镜像
docker pull kibana:7.9.2
- 创建配置目录、配置文件
mkdir -pv /data/kibana/config && chmod 777 /data/kibana/config
# 进入主节点配置文件目录
cd /data/kibana/config
# 编辑配置文件
vim kibana.yml
拷贝以下内容:
server.host: 0.0.0.0
# 监听端口
server.port: 5601
server.name: "kibana"
# kibana访问es服务器的URL,就可以有多个,以逗号","隔开
elasticsearch.hosts: ["http://192.168.1.75:9200","http://192.168.1.75:9201","http://192.168.1.75:9202"]
monitoring.ui.container.elasticsearch.enabled: true
# kibana访问Elasticsearch的账号与密码(如果ElasticSearch设置了的话)
elasticsearch.username: "kibana"
elasticsearch.password: "12345"
# kibana日志文件存储路径
logging.dest: stdout
# 此值为true时,禁止所有日志记录输出
logging.silent: false
# 此值为true时,禁止除错误消息之外的所有日志记录输出
logging.quiet: false
# 此值为true时,记录所有事件,包括系统使用信息和所有请求
logging.verbose: false
ops.interval: 5000
# kibana web语言
i18n.locale: "zh-CN"
赋权限
chmod 777 /data/kibana/config/kibana.yml
- 创建启动配置文件
# 进入主节点配置文件目录
cd /data/kibana
# 编辑配置文件
vim docker-compose.yml
拷贝以下内容:
version: '2'
services:
kibana:
container_name: kibana
image: kibana:7.9.2
volumes:
- /data/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
ports:
- 5601:5601
到/data/kibana目录执行docker-compose命令运行
docker-compose up -d
查看启动日志
docker ps -a
- 页面使用
输入 192.168.1.75:5601
参考博客:
https://blog.csdn.net/u011374856/article/details/122347928
https://blog.csdn.net/m0_54853420/article/details/123870504