elasticsearch集群安装

1.下载安装包
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
elasticsearch-7.6.1-linux-x86_64.tar.gz

2.修改系统参数,内核参数
vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 65536
* hard nproc 131072

**修改线程数 root默认开启任意个 其他用户默认1024个线程 elasticsearch至少需要4096+个线程池做预备 **

vim /etc/sysctl.conf
echo "vm.max_map_count=262144" >> /etc/sysctl.conf

加载系统参数

sysctl -p

3.创建elasticsearch 安装目录 添加用户 配置目录权限

mkdir -pv /data/es
mkdir -pv /data/es/data
mkdir -pv /data/es/logs

创建用户组

groupadd es

** 创建用户 es**

useradd es -g es -p 123456

** 授权**

chown -R es.es /data/es

4.开始安装(单机配置)
上传安装包到/opt下

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /data/es

5.配置Java环境,使用ES自带版本

export JAVA_HOME=/data/es/elasticsearch-7.6.1/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置环境变量生效

source /etc/profile

查看JDK是否安装成功和查看JDK版本

java -version

在这里插入图片描述

编辑elasticsearch.yml

vim /data/es/elasticsearch-7.6.1/config/elasticsearch.yml

设定es集群名称 【注】集群
cluster.name: my-es
设置es当前节点名称,用于区分不同节点  【注】集群
node.name: master
修改数据目录 
path.data: /data/es/data/
日志目录位置
path.logs: /data/es/logs/
监听访问地址为任意网段
network.host: 0.0.0.0
服务监听端口
http.port: 9200

在这里插入图片描述

配置jvm参数
按照服务器配置调整Java虚拟机内存,在config\jvm.options配置文件中调整内存大小 。其中,Xms参数表示堆空间的初始值,Xmx参数表示堆空间的最大值,应该把最小和最大JVM堆设置成相同的值
vim /data/es/elasticsearch-7.6.1/config/jvm.options
在这里插入图片描述

启动es
【注】启动es需要普通用户
su - es
进入到启动文件目录下
cd /data/es/elasticsearch-7.6.1/bin/
启动
nohup ./elasticsearch &
后台运行
./bin/elasticsearch –d
以root用户查看9200端口是否开启
在这里插入图片描述

浏览器访问 需要将CentOS防火墙关闭或者在防火墙开启9200端口
在这里插入图片描述

6.集群配置
拷贝/data/es目录下的elasticsearch-7.6.1安装包2个(【注】单台服务器集群)
cp -r elasticsearch-7.6.1 elasticsearch-7.6.1-01
cp -r elasticsearch-7.6.1 elasticsearch-7.6.1-02
修改elasticsearch.yml 01配置文件

集群名称
cluster.name: lg-es
节点名称
node.name: master
是不是有资格主节点
node.master: true
是否存储数据
node.data: true
最大集群节点数
node.max_local_storage_nodes: 2
ip地址
network.host: 0.0.0.0
外部访问端口
http.port: 9200
内部节点之间沟通端口
transport.tcp.port: 9300
es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.80.25:9300", "172.16.80.26:9300"]
es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["master", "node1"] 
数据和存储路径
path.data: /data/es/data
path.logs: /data/es/logs

在这里插入图片描述

修改elasticsearch.yml 02配置文件

集群名称
cluster.name: lg-es
节点名称
node.name: node1
是不是有资格主节点
node.master: true
是否存储数据
node.data: true
最大集群节点数
node.max_local_storage_nodes: 2
ip地址
network.host: 0.0.0.0
外部访问端口
http.port: 9200
内部节点之间沟通端口
transport.tcp.port: 9300
es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.80.25:9300", "172.16.80.26:9300"]
es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["master", "node1"] 
数据和存储路径
path.data: /data/es/data
path.logs: /data/es/logs

在这里插入图片描述

每个节点配置jvm参数
vim /data/es/elasticsearch-7.6.1/config/jvm.options
在这里插入图片描述

启动es
【注】启动es需要普通用户

su - es

进入到启动文件目录下

cd /data/es/elasticsearch-7.6.1/bin/

启动

nohup ./elasticsearch &

后台运行

./elasticsearch –d

启动成功访问
访问集群状态信息 http://172.16.80.25:9200/_cat/health?v 成功
在这里插入图片描述

节点介绍
在这里插入图片描述

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

7.开启ES跨域访问
ES配置文件elasticsearch.yml末尾添加

http.cors.enabled: true
http.cors.allow-origin: "*"

重启服务生效

./elasticsearch –d

8.为ES设置用户密码 开启xpack
1.为ES设置超级管理员(所有节点)

./elasticsearch-users useradd es -r superuser

2.开启xpack需要为ES集群内部通信生成ssl证书(master节点)

./elasticsearch-certutil ca
./elasticsearch-certutil  cert --ca elastic-stack-ca.p12

创建证书存储路径

mkdir -pv config/certs

将生成证书 elastic-stack-ca.p12 拷贝至此目录

cp elastic-certificates.p12 config/certs/

2.将证书下发至其他节点

scp -r certs 172.16.80.26:/data/es/elasticsearch-7.6.1/config/

添加权限

chmod -R 777 elastic-certificates.p12

4.ES配置文件elasticsearch.yml末尾添加 (所有节点)

http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.license.self_generated.type: basic
xpack.security.transport.ssl.verification_mode: none
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

在这里插入图片描述

4.重启服务生效

./elasticsearch –d

5.启动成功访问
访问集群状态信息 http://172.16.80.25:9200/_cat/health?v 成功
在这里插入图片描述

6.配置重启ES后,在es-head目录下使用下面的命令启动es-head

npm run start

登录验证:IP+端口
在这里插入图片描述

7.登录验证 ES需要密码
在这里插入图片描述

### 关于Elasticsearch集群安装完成后的配置 当单个Elasticsearch节点安装完毕后,该节点会自动形成一个名为“elasticsearch”的新单节点集群[^1]。为了使这个节点成为更大集群的一部分,需修改位于 `$ES_HOME/config/elasticsearch.yml` 的配置文件中的设置来指定集群名称和其他必要的参数[^2]。 #### 修改集群名称 要让多个节点组成同一个集群,必须确保它们共享相同的 `cluster.name` 设置。默认情况下,此值被设为 "elasticsearch";如果希望创建自定义命名的空间,则应编辑上述提到的YAML文件并更改该项: ```yaml cluster.name: my_custom_cluster_name ``` #### 设定节点角色 对于多节点环境来说,可以分配特定的角色给各个成员以优化性能表现。比如通过如下方式指明某台机器仅作为数据存储单元而不参与协调请求处理工作: ```yaml node.master: false node.data: true ``` 以上两行分别控制着当前实例是否有资格竞选为主控服务器以及是否负责保存索引文档资料。 ### 验证集群状态的方法 一旦完成了基本设定之后,可以通过RESTful API接口查询整个系统的健康状况概览信息。具体命令如下所示,在这里假设目标地址为本地主机且监听端口保持不变(9200): ```bash curl -X GET "localhost:9200/_cat/health?v=true" ``` 这条指令将会返回有关集群整体运行情况的关键指标,包括但不限于活动分片数量、未分配副本数目等重要细节。 另外一种常用手段就是利用Kibana图形界面工具来进行更直观的状态监测与管理操作。只需启动对应的服务进程,并访问浏览器内的相应URL即可轻松实现这一目的。 ### 解决常见问题指南 有时可能会遇到某些棘手的技术难题阻碍正常使用体验。下面列举了一些典型场景及其对应的解决方案: - **无法加入预期集群**:确认所有参与者均采用一致性的网络标识符(`network.host`) 和版本号(version),并且防火墙策略允许TCP通信发生在预期内部IP范围之间。 - **磁盘空间不足警告**:调整JVM堆大小限制或是增加物理硬盘容量均可有效缓解此类报警现象的发生频率。同时建议定期清理无用日志记录减少不必要的资源占用率。 - **慢查询响应时间过长**:考虑启用缓存机制提高命中概率从而加快检索速度;或者重新评估映射结构设计思路使之更加贴合实际业务需求特点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值