安裝es麼,也沒什麼難的,主要網上搜一搜,看看文檔,可是走過的坑仍是須要記錄一下的 主要參考這三份文檔:html
Running Kibana on Docker
bootstrap
直接docker pull elasticsearch顯示沒有這個tag因此去dockerhub看了下tag,加上了版本號6.7.0vim
docker pull elasticsearch:6.7.0
複製代碼
cd /
mkdir-p mnt/elasticsearch
cd mnt/elasticsearch
mkdir config
mkdir matser
mkdir slave
chmod 777 master
chmod 777 slave
複製代碼
config 裏面分別放兩個配置文件瀏覽器
cd config
touch master.yml
touch slave.yml
複製代碼
matser.ymlbash
cluster.name: elasticsearch-cluster
node.name: master
network.bind_host: 0.0.0.0
network.publish_host: `your ip`
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: [" `your ip`:9300"," `your ip`:9301"]
複製代碼
slave.ymlcors
cluster.name: elasticsearch-cluster
node.name: slave
network.bind_host: 0.0.0.0
network.publish_host: `your ip`
http.port: 9202
transport.tcp.port: 9302
http.cors.enabled: true
http.cors.allow-origin: "*"
node.master: false
node.data: true
discovery.zen.ping.unicast.hosts: ["`your ip`:9300","`your ip`:9301"]
複製代碼
vim /etc/sysctl.conf
# 添加這個
vm.max_map_count=262144
# 保存後執行這個命令
sysctl -p
複製代碼
masterelasticsearch
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 -v /mnt/elasticsearch/config/master.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/elasticsearch/master:/usr/share/elasticsearch/data --name es-master elasticsearch:6.7.0
複製代碼
slavetcp
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9201:9201 -p 9301:9301 -v /mnt/elasticsearch/config/slave.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/elasticsearch/slave:/usr/share/elasticsearch/data --name es-slave elasticsearch:6.7.0
複製代碼
瀏覽器訪問 http://yourip:9200
剛開始裝的時候看網上的教程來,一直連不上es,直接去官網找文檔了,具體以下
docker pull kibana:6.7.0
docker run --link es-master:elasticsearch -p 5601:5601 --name kibana -d kibana:6.7.0
複製代碼
訪問 http://yourip:5601
由於有過經驗了,直接去dockerhub上看安裝教程
第一步:調線程數,詳情見上面操做
第二步:編寫docker-compose.yml
version: '2.2'
services:
es01:
image: elasticsearch:7.3.1
container_name: es01
environment:
- node.name=es01
- discovery.seed_hosts=es02
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./esdata01:/usr/share/elasticsearch/data
ports:
- 9200:9200
networks:
- esnet
es02:
image: elasticsearch:7.3.1
container_name: es02
environment:
- node.name=es02
- discovery.seed_hosts=es01
- cluster.initial_master_nodes=es01,es02
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- ./esdata02:/usr/share/elasticsearch/data
networks:
- esnet
kibana:
image: kibana:7.3.1
container_name: kibana
ports:
- 5601:5601
links:
- es01:elasticsearch ##這裏必定要跟上 :elasticsearch,否則會出錯,詳情看dockerhub上的kibana教程
networks:
- esnet
networks:
esnet:
複製代碼
安裝中出的問題,備註裏說了
第三步:
docker-compose up -d
複製代碼