网站加搜索框,wordpress手机管理APP,自己做网站运营,西安网站建设推荐使用Docker安装ElasticSearch7.10.x单节点请访问这里
一、集群环境说明
服务器IP地址192.168.137.1#xff0c;192.168.137.2#xff0c;192.168.137.3
二、前期准备
1. 拉取镜像
docker pull elasticsearch:7.10.12. 首先需要创建一个用于生成秘钥的初始容器#xff0…使用Docker安装ElasticSearch7.10.x单节点请访问这里
一、集群环境说明
服务器IP地址192.168.137.1192.168.137.2192.168.137.3
二、前期准备
1. 拉取镜像
docker pull elasticsearch:7.10.12. 首先需要创建一个用于生成秘钥的初始容器如下是命令
docker run -d --userroot --privilegedtrue --name elasticsearch-temp -p 9200:9200 \
-p 9300:9300 --ulimit nofile65536:65536 \
-v /home/elasticsearch_temp/data:/usr/share/elasticsearch/data \
-v /home/elasticsearch_temp/logs:/usr/share/elasticsearch/logs \
-e ES_JAVA_OPTS-Xms2G -Xmx2G \
-e discovery.seed_hosts[192.168.137.1] elasticsearch:7.10.13. 进入容器内部并执行如下命令生成秘钥
#进入容器操作系统
1. docker exec -it elasticsearch-temp /bin/bash
#生成秘钥
2. bin/elasticsearch-certutil cert
#一路回车直到创建完成生成的目录默认是/usr/share/elasticsearch/config/elastic-certificates.p12
#退出容器并将容器内此秘钥文件复制出来命令最后有个点表示复制到当前目录
3. docker cp elasticsearch-temp:/usr/share/elasticsearch/config/elastic-certificates.p12 .说明重要 这里复制出来的elastic-certificates.p12文件需要同时放到剩余两台服务器上。
三、开始部署
1. 创建ElasticSearch相关文件夹
说明 以服务器192.168.137.1为例其他两台服务器操作是一样的
#1.以/data目录为例
mkdir -p /data/elasticsearch7-10-1/{data,logs,plugins}2. 创建配置文件
vim elasticsearch.yml以下为配置文件内容其他服务器仅需修改node.name的值和network.publish_host的值为本机ip即可
cluster.name: es-cluster
node.name: node-1
node.master: true
node.data: true
network.bind_host: 0.0.0.0
network.publish_host: 192.168.137.1
http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true
http.cors.allow-origin: *
discovery.zen.minimum_master_nodes: 2
discovery.seed_hosts: [192.168.137.1:9300,192.168.137.2:9300,192.168.137.3:9300]
cluster.initial_master_nodes: [node-1]
xpack.sql.enabled: false
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p123. 将步骤1创建的文件夹授权否则启动会报错无权限
#到ElasticSearch的根目录的上级目录因为需要给整个elasticsearch7-10-1文件夹授权
cd /data/
#授权
chmod -R 777 elasticsearch7-10-1/4. 编写启动脚本方便留痕
进入ElasticSearch主目录
cd /home/elasticsearch7-10-1创建脚本文件
vim create_es.shcreate_es.sh内容如下
docker run -d --userroot --privilegedtrue \
--name elasticsearch-1 -p 9200:9200 -p 9300:9300 --ulimit nofile65536:65536 \
-v ${PWD}/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v ${PWD}/elastic-certificates.p12:/usr/share/elasticsearch/config/elastic-certificates.p12 \
-v ${PWD}/logs:/usr/share/elasticsearch/logs \
-v ${PWD}/plugins:/usr/share/elasticsearch/plugins \
-v ${PWD}/data:/usr/share/elasticsearch/data \
-e ES_JAVA_OPTS-Xms2G -Xmx2G elasticsearch:7.10.1属性说明
属性配置说明ulimit nofile65536:65536设置进程可用资源如果不设置启动会报错提示discovery.typesingle-node设置模式为单节点模式启动ES_JAVA_OPTS“-Xms2G -Xmx2G”设置ElasticSearch中的Java虚拟机环境变量–userroot使用root用户-v ${PWD}/xxxxx:/yyyyy表示将当前目录的xxxxx映射到docker容器的yyyyyy位置
将【前期准备-步骤3】中从docker容器中复制出来的elastic-certificates.p12放到/home/elasticsearch7-10-1目录下
四、启动测试
1. 分别启动三台服务器上的ElasticSearch服务
sh create_es.sh注意 如果提示max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 这个错误的话需要进行如下设置
#修改文件
sudo vim /etc/sysctl.conf
#添加参数
vm.max_map_count 262144
#重新加载
sysctl -p2. 打开浏览器访问http://192.168.137.1:9200地址
如果能正常打开ElasticSearch的登录页面并弹窗让你输入用户名密码即表示启动成功
五、设置自定义密码
1.任选其中一台服务器进入ElasticSearch的容器中
docker exec -it elasticsearch-1 /bin/bash2. 执行设置密码命令在任意一台中执行即可其他节点会自动同步
bin/elasticsearch-setup-passwords interactive说明 为每个用户设置密码并且会让你输入两边密码需要保持输入的两次密码保持一致。
3. 设置完成后再次访问http://192.168.137.1:9200地址在弹出的提示框中
用户名elastic 密 码你在上一步中为elastic用户设置的密码
输入正确的用户名密码之后将看到如下界面
4. 查看集群状态
访问地址http://192.168.137.1:9200/_cluster/health?pretty 上图红框中status状态为green表示健康node.total表示节点数量为3个node.data表示数据节点为3个。
如此ElasticSearch集群就搭建完成了 喜欢的就点个关注再走吧~