使用 Docker 快速部署 Elasticsearch 全家桶

前言

Docker 傻瓜式安装教程之前写过了,详见这里

安装 Elasticsearch 6.4.3

配置增加线程数

1
sysctl -w vm.max_map_count=262144

启动 Elasticsearch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
docker run -d \
--name elasticsearch \
--restart=always \
--privileged=true \
--ulimit nofile=65530:131072 \
--ulimit memlock=-1 \
--memory=6G \
--memory-swap=-1 \
--cpuset-cpus='0-3' \
--net host \
--volume /data/elasticsearch/data:/usr/share/elasticsearch/data \
--volume /data/elasticsearch/logs:/usr/share/elasticsearch/logs \
-p 9200:9200 -p 9300:9300 -p 5601:5601 \
-e cluster.name="oa-search" \
-e "discovery.type=single-node" \
-e "http.cors.enabled=true" \
-e http.cors.allow-origin="*" \
-e ES_JAVA_OPTS="-Xms4g -Xmx4g -Xss128m" elasticsearch:6.4.3

注意:内存使用 & CPUS配置 根据实际服务器情况配置即可

启动 Kibana

1
2
3
4
docker run -d \
-e ELASTICSEARCH_URL=http://127.0.0.1:9200 \
--name kibana \
--network=container:elasticsearch kibana:6.4.3

启动 Head

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

安装ik分词插件

进入之前启动好的 Elasticsearch 容器中执行如下命令:

1
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.3/elasticsearch-analysis-ik-6.4.3.zip

杀掉已启动的容器进程

1
2
3
4
5
6
// 杀掉已启动进程 elasticsearch
docker ps | grep elasticsearch | awk '{print $1}' | xargs -i% docker rm -f % 2>/dev/null
// 杀掉已启动进程 kibana
docker ps | grep kibana | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null
// 杀掉已启动进程 head
docker ps | grep head | awk '{print $1}'|xargs -i% docker rm -f % 2>/dev/null

手动创建索引

1
curl -XPUT http://localhost:9200/zhangyu

手动创建 Mapping

1
curl -XPOST http://localhost:9200/zhangyu/zhangyu/_mapping -H 'Content-Type:application/json' -d'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"properties": {
"id": {
"type": "long"
},
"oaNewsId": {
"type": "long"
},
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"type": {
"type": "long"
}
}
}'
----本文结束 感谢您的阅读----