Docker部署Elastic Search
Elastic Search
拉取镜像
贼尴尬 ik分词器只有8.7.0没法跟最新的8.8.1版本对应 只能拉一个8.7.0版本的
docker pull elasticsearch:8.7.0
创建新网络
docker network create elastic
创建本地挂载目录
mkdir elastic
mkdir config
mkdir data
mkdir plugins
目录前缀/Users/xxx(你的用户名)/docker/elastic
启动
为了模拟真实情况,创建了docker网络组,如果需要外网访问,需要网络组9200接口,或者在默认的elasticSearch.yml配置中修改newwork.host属性
作为开发练习,暂时关闭安全策略。即启动时,指定参数 -e “xpack.security.enabled=false”。
docker run -d \
--name elasticsearch \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-e "xpack.security.enabled=false" \
-e "bootstrap.memory_lock=true" \
-v /Users/ballen/docker/elastic/data:/usr/share/elasticsearch/data \
-v /Users/ballen/docker/elastic/plugins:/usr/share/elasticsearch/plugins \
-v /Users/ballen/docker/elastic/logs:/usr/share/elasticsearch/logs \
--privileged \
--network elastic \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:8.7.0
或者在挂载目录中找到elasticsearch.yml 手动更改参数以后重启
cluster.name: "docker-cluster"
network.host: 0.0.0.0
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 26-06-2023 06:13:10
#
# --------------------------------------------------------------------------------
# Enable security features
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
enabled: true
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
enabled: true
verification_mode: certificate
keystore.path: certs/transport.p12
truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
访问
http://localhost:9200
出现如下信息即为成功
{
"name" : "071a93746fee",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "aAr9NtwdQlWn1Pa53sZQBw",
"version" : {
"number" : "8.7.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "09520b59b6bc1057340b55750186466ea715e30e",
"build_date" : "2023-03-27T16:31:09.816451435Z",
"build_snapshot" : false,
"lucene_version" : "9.5.0",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Kibana
启动
docker run -d \
--name kibana \
--network=elastic \
-p 5601:5601 \
kibana:8.7.0
访问localhost:5601能进入界面就算成功
IK分词器
链接
需要ik分词器版本与Elastic Search版本对应否则无法启动
https://github.com/medcl/elasticsearch-analysis-ik
下载完成以后在挂载的plugins目录下解压缩重启es即可
错误
如果遇到Plugin [.DS_Store] is missing a descriptor properties file.这个错误
在plugins目录下执行ls -a 可以看到.DS_Store文件
将.DS_Store文件 rm -rf .DS_Store删除重启es即可
至此Elastic Search基本部署完毕