docker配置elasticsearch(多個例項)
阿新 • • 發佈:2022-05-11
1、執行命令下載映象
docker pull elasticsearch:7.17.0
2、新建資料夾,掛在配置檔案
mkdir -p docker/es/config
mkdir -p docker/es/dev-data mkdir -p docker/es/dev-logs mkdir -p docker/es/test-data mkdir -p docker/es/test-logs mkdir -p docker/es/prod-logs mkdir -p docker/es/prod-logs
3、在confg建立三個檔案,分別用來啟動三個容器
prod.yml
#叢集名稱-生產環境 cluster.name: es-prod #節點 node.name: node-3 #標記主節點 node.master: true node.data: true #外網訪問 http.host: 0.0.0.0 network.host: 127.0.0.1 #埠號 http.port: 9203 transport.tcp.port: 9303 http.cors.enabled: true http.cors.allow-origin: "*" #繫結的埠 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301", "127.0.0.1:9302", "127.0.0.1:9303"] #初始化主節點 cluster.initial_master_nodes: ["node-3"] action.destructive_requires_name: true #允許兩個節點執行 node.max_local_storage_nodes: 3 cluster.routing.allocation.same_shard.host: true
test.yml
#叢集名稱-測試環境 cluster.name: es-test #節點 node.name: node-2 #標記主節點 node.master: true node.data: true #外網訪問 http.host: 0.0.0.0 network.host: 127.0.0.1 #埠號 http.port:9202 transport.tcp.port: 9302 http.cors.enabled: true http.cors.allow-origin: "*" #繫結的埠 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301", "127.0.0.1:9302", "127.0.0.1:9303"] #初始化主節點 cluster.initial_master_nodes: ["node-2"] action.destructive_requires_name: true #允許兩個節點執行 node.max_local_storage_nodes: 3 cluster.routing.allocation.same_shard.host: true
dev.yml
#叢集名稱-開發環境 cluster.name: es-dev #節點 node.name: node-1 #標記主節點 node.master: true node.data: true #外網訪問 http.host: 0.0.0.0 network.host: 127.0.0.1 #埠號 http.port: 9201 transport.tcp.port: 9301 http.cors.enabled: true http.cors.allow-origin: "*" #繫結的埠 discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301", "127.0.0.1:9302", "127.0.0.1:9303"] #初始化主節點 cluster.initial_master_nodes: ["node-1"] action.destructive_requires_name: true #允許兩個節點執行 node.max_local_storage_nodes: 3 cluster.routing.allocation.same_shard.host: true
4、修改資料夾許可權,把xxxx改成上面資料夾,或者使用xftp直接修改許可權
chmod 777 xxxx
5、執行三個容器,--name 表示容器名字, 後面掛在檔案請根據自己的需要自行修改,需要和上面的三個yml檔案分別對應
docker run -d --name es-dev -p 9201:9201 -p 9301:9301 -v /docker/es/config/dev.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/dev-data:/usr/share/elasticsearch/data -v /docker/es/plugins:/usr/share/elasticsearch/plugins -v /docker/es/dev-logs:/usr/share/elasticsearch/logs -d elasticsearch:7.17.0 docker run -d --name es-test -p 9202:9202 -p 9302:9302 -v /docker/es/config/test.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/test-data:/usr/share/elasticsearch/data -v /docker/es/plugins:/usr/share/elasticsearch/plugins -v /docker/es/test-logs:/usr/share/elasticsearch/logs -d elasticsearch:7.17.0 docker run -d --name es-prod -p 9203:9203 -p 9303:9303 -v /docker/es/config/prod.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/es/prod-data:/usr/share/elasticsearch/data -v /docker/es/plugins:/usr/share/elasticsearch/plugins -v /docker/es/prod-logs:/usr/share/elasticsearch/logs -d elasticsearch:7.17.0
6、然後可以輸入 docker ps -a 命令檢視執行情況,另外可能啟動的時間較長,請耐心等待
7、執行成功之後可以輸入ip地址加上埠號進行訪問
ip:9201 ip:9202 ip:9203
部署elasticsearch-head
1、執行命令下載
docker pull mobz/elasticsearch-head:5
2、執行命令啟動容器
docker run -d -p 9100:9100 mobz/elasticsearch-head:5
3、輸入 ip:9100 可訪問,另外以上的埠都需要提前先開放才可以,比如開啟防火牆