ES搜索引擎-部署文档 7.16亲测上线使用

一、Elasticsearch单节点安装

准备工作:需要jdk1.8的开发环境。

1、es不允许使用root用户进行启动,新建一个用户
useradd es
passwd es
2、修改一些默认参数
vi /etc/sysctl.conf
# 在文件最后面添加内容:
vm.max_map_count=262144

vi /etc/security/limits.conf
# 添加如下内容:
* hard nofile 65536
* soft nofile 65536

* soft nproc 2048
* hard nproc 4096


vi /etc/security/limits.d/90-nproc.conf
# 将原来内容:
* soft nproc 1024
#修改为
* soft nproc 4096


注意:添加参数后执行 sysctl -p ,并且重新登录服务器, 生效 进行查看。

3、上传安装包,解压压缩包
tar -zxvf elasticsearch-7.16.2.tar.gz
4、给新建的用户读取权限(根据新建的用户和目录自定义)
chown -R es:es /mydata/elasticsearch-7.16.2
5、修改es的配置文件(单节点)
vim config/elasticsearch.yml

配置文件内容:

# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kbm-es
# 设置节点名称,集群内节点名称必须唯一。
node.name: kbm-es-node-1
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置(自定义位置即可)
path.data: /mydata/elasticsearch-7.16.2/data
# 日志文件存放的位置(自定义位置即可)
path.logs: /mydata/elasticsearch-7.16.2/logs
# 需求锁住物理内存,是:true、否:false
bootstrap.memory_lock: false
# 监听地址,用于访问该es(本机IP)
network.host: 192.168.56.10
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes:  kbm-es-node-1
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.ml.enabled: false
# 开启密码验证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:  elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
6、生成安全证书(elastic-certificates.p12)
# 1 在bin目录下生成证书
./elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
7、启动es
# 进入es安装目录
./bin/elasticsearch -d
8、生成用户名密码
# 2 在bin目录下执行重置密码,密码建议统一,需要设置多个账号密码
./elasticsearch-setup-passwords interactive
9、测试是否安装成功 。本文示例: elastic/elastic

(https://img-blog.csdnimg.cn/f71e19b398af481dad39e7c47f28e535.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBARHJlYW0=,size_20,color_FFFFFF,t_70,g_se,x_16)
在这里插入图片描述

二、Elasticsearch集群安装

每台服务器执行操作大同小异,只是各个机器的es配置文件需要独立修改,通用的操作都一致。

各个节点的es配置文件需要根据实际环境独立更换ip即可。

准备工作:需要jdk1.8的开发环境。

# eg: 三台服务器 一主俩从 10主服务器
192.168.56.10 
192.168.56.11
192.168.56.12
通用操作(每台机器需要执行一次)
1、es不允许使用root用户进行启动,新建一个用户
useradd es
passwd es
# 执行完第二个语句之后会会提示输入密码 自定义密码即可
2、修改一些默认参数
vi /etc/sysctl.conf
# 在文件最后面添加内容:
vm.max_map_count=262144

vi /etc/security/limits.conf
# 添加如下内容:
* hard nofile 65536
* soft nofile 65536

* soft nproc 2048
* hard nproc 4096


vi /etc/security/limits.d/90-nproc.conf
# 将原来内容:
* soft nproc 1024
#修改为
* soft nproc 4096

注意:添加参数后执行 sysctl -p ,并且重新登录服务器, 生效 进行查看。

3、上传安装包,解压压缩包
tar -zxvf elasticsearch-7.16.2.tar.gz
4、给新建的用户读取权限(根据新建的用户和目录自定义)
chown -R es:es /mydata/elasticsearch-7.16.2
5、分别将下列三个配置文件复制到对应服务器,IP地址根据实际环境进行修改。

见附件。

6、在第一个服务器的bin目录下生成证书,将证书复制放到其余俩个服务器的同目录下。(elastic-certificates.p12)
./elasticsearch-certutil cert -out config/elastic-certificates.p12 -pass ""
7、依次启动es节点服务
# 进入es安装目录
./bin/elasticsearch
8、在第一台服务器设置用户名密码
# 在bin目录下执行重置密码,密码建议统一,需要设置多个账号密码
./elasticsearch-setup-passwords interactive
9、测试是否成功

在这里插入图片描述
在这里插入图片描述

附件(elasticsearch.yml)

节点1
# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kbm-es
# 设置节点名称,集群内节点名称必须唯一。
node.name: kbm-es-node-1
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置(自定义位置即可)
path.data: /mydata/elasticsearch-7.16.2/data
# 日志文件存放的位置(自定义位置即可)
path.logs: /mydata/elasticsearch-7.16.2/logs
# 需求锁住物理内存,是:true、否:false
bootstrap.memory_lock: false
# 监听地址,用于访问该es(本机IP)
network.host: 192.168.56.10
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.56.10:9300", "192.168.56.11:9300", "192.168.56.12:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["kbm-es-node-1", "kbm-es-node-2", "kbm-es-node-3"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.ml.enabled: false
# 开启密码验证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:  elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
节点2
# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kbm-es
# 设置节点名称,集群内节点名称必须唯一。
node.name: kbm-es-node-2
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置(自定义位置即可)
path.data: /mydata/elasticsearch-7.16.2/data
# 日志文件存放的位置(自定义位置即可)
path.logs: /mydata/elasticsearch-7.16.2/logs
# 需求锁住物理内存,是:true、否:false
bootstrap.memory_lock: false
# 监听地址,用于访问该es(本机IP)
network.host: 192.168.56.11
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.56.10:9300", "192.168.56.11:9300", "192.168.56.12:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["kbm-es-node-1", "kbm-es-node-2", "kbm-es-node-3"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.ml.enabled: false
# 开启密码验证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:  elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
节点3
# 设置集群名称,集群内所有节点的名称必须一致。
cluster.name: kbm-es
# 设置节点名称,集群内节点名称必须唯一。
node.name: kbm-es-node-3
# 表示该节点会不会作为主节点,true表示会;false表示不会
node.master: true
# 当前节点是否用于存储数据,是:true、否:false
node.data: true
# 索引数据存放的位置(自定义位置即可)
path.data: /mydata/elasticsearch-7.16.2/data
# 日志文件存放的位置(自定义位置即可)
path.logs: /mydata/elasticsearch-7.16.2/logs
# 需求锁住物理内存,是:true、否:false
bootstrap.memory_lock: false
# 监听地址,用于访问该es(本机IP)
network.host: 192.168.56.12
# es对外提供的http端口,默认 9200
http.port: 9200
# TCP的默认监听端口,默认 9300
transport.tcp.port: 9300
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2
# es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.56.10:9300", "192.168.56.11:9300", "192.168.56.12:9300"]
discovery.zen.fd.ping_timeout: 1m
discovery.zen.fd.ping_retries: 5
# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["kbm-es-node-1", "kbm-es-node-2", "kbm-es-node-3"]
# 是否支持跨域,是:true,在使用head插件时需要此配置
http.cors.enabled: true
# “*” 表示支持所有域名
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.ml.enabled: false
# 开启密码验证
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path:  elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值