docker安装ElasticSearch7.13.4、配置登录密码、开启HTTPS、安装ik分词器

提示:运行容器命令 推荐 使用单机多节点的命令执行,所需配置文件要提前准备


1、拉取镜像

docker pull elasticsearch:7.13.4

2、创建挂载目录

mkdir -p /docker/elasticsearch/{config,data,plugins,logs}

3、需要准备 elasticsearch.yml 文件(下面是要修改该的内容)(这个配置为单机多节点配置,但是具体的配置不全,但可以使用,下面运行容器使用单机多节点命令)

node.name: lingyun
network.host: 0.0.0.0
http.port: 9200 
cluster.initial_master_nodes: ["lingyun"] # 如果使用下面单机单节点命令,应该是注释掉本行即可(没试过)

5、ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]ERROR: Elasticsearch did not exit normally - check the logs at /usr/share/elasticsearch/logs/elasticsearch.log(elasticsearch用户拥有的内存权限太小)

# 修改/etc/sysctl.conf
vim /etc/sysctl.conf
    vm.max_map_count=655360
    
# 执行sysctl -p 让其生效
sysctl -p

6、配置登录密码(不需要可跳过)(如果需要,添加配置后,运行容器,进行剩下操作)

#在config目录中,编辑elasticsearch.yml文件,添加如下
# 配置登录账号密码所用配置
xpack.security.transport.ssl.enabled: true
xpack.security.enabled: true
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,Content-Type,X-Requested-with,Content-Length

# 下面配置需要 运行容器后(运行容器 步骤正常运行后 访问 ip+9200 后提示输入密码 即可)  进入容器后执行
# 进入容器
docker exec -it elasticsearch7.13.4 /bin/bash

#在bin目录下设置密码,输入y后输入自己设置的密码,要输入好几遍
elasticsearch-setup-passwords interactive
	#将设置apm_system, beats_system, elastic, kibana_system, logstash_system, remote_monitoring_user这些内置用户的密码。请务必牢记!

# 默认用户名
elastic
# 密码(自己设置的)
2418870649

7、开启HTTPS(不需要可跳过)

# 进入容器
docker exec -it elasticsearch7.13.4 /bin/bash

# 生成 p12 证书,生成elastic-stack-ca.p12文件
bin/elasticsearch-certutil ca
    #1、文件名(可以不用填写,直接回车)
    #2、密码
    
# 生成 证书和私钥,生成elastic-certificates.p12文件
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
    #1、密码
    #2、文件名(可以不用填写,直接回车)
    #3、密码

# 移动证书到指定文件夹下(如果当前是你引入的文件夹,就不用移动)
mv elastic-certificates.p12 config/elastic-certificates.p12
mv elastic-stack-ca.p12 config/elastic-stack-ca.p12

# 给证书权限
chmod 777 elastic-certificates.p12
chmod 777 elastic-stack-ca.p12



#修改elasticsearch.yml 开启https

# 加密http通信-每个节点容器都要添加(如果是单机单节点,配置如下即可)
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: elastic-certificates.p12		#指定使用的证书
xpack.security.http.ssl.truststore.path: elastic-certificates.p12		#密钥存储库包含CA证书,因此也可以用作信任存储库

# 加密节点间通信-每个节点容器都要添加
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate		#只验证证书是否受信任,不执行主机名验证。还可以设置成 full(还要验证主机名)、none(不验证证书)
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12		#指定证书
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12		#将密钥存储库也用做信任存储库

8、运行容器

# 运行容器(单机单节点)
docker run -itd --name elasticsearch7.13.4 -p 9200:9200 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms2g -Xmx2g" -v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs elasticsearch:7.13.4

# 运行容器(单机多节点)
docker run -itd --name elasticsearch7.13.4 -p 9200:9200 -e ES_JAVA_OPTS="-Xms2g -Xmx2g" -v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs elasticsearch:7.13.4

# 运行容器(单机多节点) 不配置内存,让系统自动分配
docker run -itd --name elasticsearch7.13.4 -p 9200:9200 -v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker/elasticsearch/data:/usr/share/elasticsearch/data -v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs elasticsearch:7.13.4

# 运行容器(单机多节点)(命令分解)
docker run \
-itd \
--name elasticsearch7.13.4 \
-p 9200:9200 \
-e ES_JAVA_OPTS="-Xms2g -Xmx2g" \
-v /docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /docker/elasticsearch/data:/usr/share/elasticsearch/data \
-v /docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /docker/elasticsearch/logs:/usr/share/elasticsearch/logs \
elasticsearch:7.13.4

9、安装分词器(进入容器中安装)

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.4/elasticsearch-analysis-ik-7.13.4.zip

10、访问

ip+9200



# 把容器中的文件拷贝出来
docker cp 容器id:/etc/mysql/my.cnf /root/ 
# 把主机的文件拷贝到容器中
docker cp  /home/tom/my.cnf  容器id:/etc/mysql/
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值