环境说明:
服务器操作系统: CentOS7.5
Docker版本:19.03.0
1. 拉取镜像
docker pull elasticsearch:7.10.1
2. 创建相关文件夹
#1.以/data目录为例
mkdir -p /data/elasticsearch7-10-1/{data,logs,plugins}
3. 编写启动脚本
#1. vim start_es.sh
docker run -d --restart=always --user=root \
--privileged=true \
--name elasticsearch7.10.1 \
-p 9200:9200 \
-p 9300:9300 \
--ulimit nofile=65536:65536 \
-v ${PWD}/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ${PWD}/data:/usr/share/elasticsearch/data \
-v ${PWD}/logs:/usr/share/elasticsearch/logs \
-v ${PWD}/plugins:/usr/share/elasticsearch/plugins \
-e discovery.type=single-node \
-e ES_JAVA_OPTS="-Xms2G -Xmx2G" \
elasticsearch:7.10.1
docker logs -f elasticsearch7.10.1
4. 编写配置文件elasticsearch.yml
#1. vim elasticsearch.yml
cluster.name: "elastic"
network.host: 0.0.0.0
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
5.授权文件夹
cd /data/
chmod -R 777 elasticsearch7-10-1/
如果不做这一步操作,启动时会提示如下错误:
6. 启动
#在/data/elasticsearch7-10-1/目录下执行如下:
sh start_es.sh
看到如下界面就代表启动成功了
打开浏览器访问: localhost:9200 即可跳转到es的信息页,并且会提示让你输入用户名密码:
注意: es的默认用户名密码为: elastic / changeme
7. 设置用户名自定义密码
#1. 先进入容器内部操作系统的es工作目录
docker exec -it elasticsearch7.10.1 /bin/bash
#2. 执行设置密码命令
bin/elasticsearch-setup-passwords interactive
如下图,按提示首先输入y,然后依次输入elastic,apm_system等用户的密码即可
7.测试
打开浏览器访问: localhost:9200 即可跳转到es的信息页,并且会提示让你输入用户名密码:
这里重新为elastic用户设置的密码为:elastic
所以在弹出的用户名密码提示框中输入 elastic / elastic 即可看到如下界面:
至此,单节点的elasticsearch,且版本为7.10.1的搭建就大功告成!收工!
8. 如若想再次修改密码或者使用curl访问es,可以参照下面这篇文章
Elasticsearch7 设置用户名密码 && 查询 - 码农教程
9. 安装ik分词器
首先下载对应版本的分词器插件,我这里是7.10.1版本
下载地址:
github提供的: Release v7.10.1 · medcl/elasticsearch-analysis-ik · GitHub
1 . 将 elasticsearch-analysis-ik-v7.10.1.zip上传到/data/elasticsearch7-10-1/plugins/下
2. 解压: unzip -d analysis-ik/ elasticsearch-analysis-ik-v7.10.1.zip
3.移除不需要的压缩包: rm -f elasticsearch-analysis-ik-v7.10.1.zip
4. 重启es容器: docker restart elasticsearch7.10.1