天天看點

docker常用鏡像安裝-elasticsearch(es、header、ik、kibana)

作者:退役程式員老馬

#頭條創作挑戰賽#

1、作業系統限制修改

vi /etc/sysctl.conf
# 添加如下内容
vm.max_map_count=655360
# 使配置生效
sysctl -p           

2、添加配置檔案

# 設定叢集名稱,叢集内所有節點的名稱必須一緻。
cluster.name: fzp
# 設定節點名稱,叢集内節點名稱必須唯一。
node.name: node1
# 表示該節點會不會作為主節點,true表示會;false表示不會
node.master: true
# 目前節點是否用于存儲資料,是:true、否:false
node.data: true
# 索引資料存放的位置
#path.data: /usr/share/elasticsearch/data
# 日志檔案存放的位置
#path.logs: /usr/share/elasticsearch/logs
# 需求鎖住實體記憶體,是:true、否:false
#bootstrap.memory_lock: true
# 監聽位址,用于通路該es
network.host: 192.168.0.244
# es對外提供的http端口,預設 9200
http.port: 10200
# TCP的預設監聽端口,預設 9300
transport.tcp.port: 10300
# 設定這個參數來保證叢集中的節點可以知道其它N個有master資格的節點。預設為1,對于大的叢集來說,可以設定大一點的值(2-4)
discovery.zen.minimum_master_nodes: 1
# es7.x 之後新增的配置,寫入候選主節點的裝置位址,在開啟服務後可以被選為主節點
discovery.seed_hosts: ["192.168.0.244:10300", "192.168.0.244:10301","192.168.0.244:10302"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之後新增的配置,初始化一個新的叢集時需要此配置來選舉master
cluster.initial_master_nodes: ["192.168.0.244:10300", "192.168.0.244:10301","192.168.0.244:10302"]
# 是否支援跨域,是:true,在使用head插件時需要此配置
http.cors.enabled: true
# “*” 表示支援所有域名
http.cors.allow-origin: "*"           

3、啟動叢集

docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node1 \
-v /home/fzp_ms/docker/elasticsearch/node1/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node1/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node1/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node1/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3
docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node2 \
-v /home/fzp_ms/docker/elasticsearch/node2/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node2/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node2/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node2/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3
docker run  -d \
--privileged=true \
--restart=always \
--network=host \
-e ES_JAVA_OPTS="-Xms1024m -Xmx1024m"  \
-e TAKE_FILE_OWNERSHIP=true --name es-node3 \
-v /home/fzp_ms/docker/elasticsearch/node3/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/fzp_ms/docker/elasticsearch/node3/data:/usr/share/elasticsearch/data \
-v /home/fzp_ms/docker/elasticsearch/node3/logs:/usr/share/elasticsearch/logs \
-v /home/fzp_ms/docker/elasticsearch/node3/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.3           

4、安裝header

# 這個會出現浏覽器請求報錯問題
docker run -d --name es-head -p 9100:9100 mobz/elasticsearch-head:5

docker run -d --name es-head6 -p 9100:9100 tobias74/elasticsearch-head:6           

5、安裝ik分詞器

# 下載下傳
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.17.3.zip
# 解壓到
/home/fzp_ms/docker/elasticsearch/node1/plugins下的ik目錄下
/home/fzp_ms/docker/elasticsearch/node2/plugins下的ik目錄下
/home/fzp_ms/docker/elasticsearch/node3/plugins下的ik目錄下
# 測試
// 增加一個叫test001的索引
curl -X PUT http://192.168.0.244:10200/test001
// 成功傳回 {"acknowledged":true,"shards_acknowledged":true,"index":"test001"}

// ik_smart分詞
curl -X POST \
'http://192.168.0.244:10200/test001/_analyze?pretty=true' \
-H 'Content-Type: application/json' \
-d '{"text":"我們是軟體工程師","tokenizer":"ik_smart"}'

// ik_max_word分詞
curl -X POST \
'http://192.168.0.244:10200/test001/_analyze?pretty=true' \
-H 'Content-Type: application/json' \
-d '{"text":"我們是軟體工程師","tokenizer":"ik_max_word"}'           

6、安裝kibana

添加配置檔案 kibana.yml

# Default Kibana configuration for docker target
server.name: kibana
server.port: 5601
server.host: 0.0.0.0
elasticsearch.hosts: ["http://192.168.0.244:10200","http://192.168.0.244:10201","http://192.168.0.244:10202"]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"           

拉取鏡像,啟動容器

docker pull kibana:7.17.3

docker run -d \
--name kibana \
-v /home/fzp_ms/docker/kibana/conf/kibana.yml:/usr/share/kibana/config/kibana.yml \
--network=host \
-m 512m \
--restart=always \
--memory-swap=1024m \
kibana:7.17.3           

繼續閱讀