ES的单机以及集群搭建

前言

Elasticsearch是一个开源的分布式全文搜索引擎,它适用于所有类型的数据,包括文本、数字、时间、结构化和非结构化数据。Elasticsearch是在Apache Lucene的基础上开发而成,以其简单的REST风格API、分布式特性、速度和可扩展性而闻名123。

Elasticsearch的主要特点包括:

  1. 分布式架构:Elasticsearch采用分布式架构,可以将数据分散存储在多个节点上,提高了数据的可靠性和可伸缩性。

  2. 实时性:Elasticsearch具有近实时的搜索和分析能力,数据的添加、更新和删除操作几乎可以立即生效。

  3. 全文检索能力:Elasticsearch使用倒排索引来实现全文检索,能够快速地搜索和过滤大量的文本数据。

  4. 多种查询方式:支持全文查询、精确查询、范围查询、模糊查询等多种查询方式,满足不同类型的查询需求。

  5. 可扩展性与分布式特性:通过添加新的节点可以扩展系统的容量和性能,可以水平扩展到上百台服务器。

  6. 插件生态系统:Elasticsearch拥有丰富的插件生态系统,可以方便地扩展和定制系统的功能。

  7. 日志与监控:常被用作日志管理系统,能够高效地存储、搜索和分析日志数据。通过集成Kibana等可视化工具,可以实时展示日志数据、监控系统状态。

  8. 多租户与安全性:支持多租户模式,可以在同一个集群中创建多个独立的索引,实现数据的隔离和共享。同时提供强大的安全功能,保护数据的安全性和隐私性。

Elasticsearch通常与Logstash(数据收集和日志解析引擎)和Kibana(分析和可视化平台)一起使用,这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前称为“ELK stack”)。

接下来开始ES的单机版以及集群搭建 

ES的单机部署搭建

# 创建对应文件夹
mkdir -p /application
# 下载ES
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz
# 解压
tar -zxf elasticsearch-7-12-1.tar.gz
mv elasticsearch-7-12-1 es

# 由于es是不能用root用户执行的,所以需要创建一个用户来执行
useradd es
passwd es

# 改变es的用户权限
chown -R es:es /application/es

# 修改虚拟机配置
vi /etc/security/limits.conf
-
es soft nofile 65536
es hard nofile 65536
-
vi /etc/security/limits.d/20-nproc.conf
-
vm.max_map_count=655360
-
sysctl -p  # 执行该命令让配置生效

# 切换用户
su es

#修改配置
cd  /application/es/config/
cp elasticsearch.yml elasticsearch.yml.backup
vi elasticsearch.yml
-
cluster.name:my-application  			#配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称
node.name:node-1     					#节点名,elasticsearch会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
network.host:0.0.00  					#设置为0.0.0.0允许外网访问
http.port:9200    						#Elasticsearch的http访问端口
cluster.initial_master_nodes:["node-1"]	#初始化新的集群时需要此配置来指定参与选举的master
-
# 启动
cd /application/es/bin
./elasticsearch

# 编写脚本用于一键启动
cd /application/es
vi start.sh
-
#!/bin/bash
lsof -i tcp:9200 | awk '/es/{print $2}' | xargs kill -9 &>/dev/null
/application/es/bin/elasticsearch >>/application/es/logs/es-$(date +%F).log &
-
chmod 775 start.sh
# 启动
./start.sh

ES的集群部署搭建

1、基础配置

1.1、创建对应文件夹

# 创建对应文件夹
mkdir -p /application

1.2、下载elasticsearch安装包

# 下载ES
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.1-linux-x86_64.tar.gz
# 解压
tar -zxf elasticsearch-7-12-1.tar.gz
mv elasticsearch-7-12-1 elasticsearch
mkdir -p /application/elasticsearch/data  # 数据存放目录
mkdir -p /application/elasticsearch/logs  # 日志存放目录

1.3、调优集群的初始化参数

# 修改文件描述符的最大打开数量
vim /etc/security/limits.d/elasticsearch.conf 
-
# Add by yinzhengjie for Elasticsearch
*          soft    nofile    65535
*          hard    nofile    65535
-
# 修改虚拟内存区域映射大小
vim /etc/sysctl.d/elasticsearch.conf
-
vm.max_map_count=262144
-
# 让配合生效[必须执行]
sysctl -p /etc/sysctl.d/elasticsearch.conf

1.4、创建普通用户进行ES的启动

useradd elastic
passwd elastic
chown -R elastic:elastic /application/elasticsearch/  #将文件属主权限给elastic
su elastic # 切换用户

1.5、修改基础配置文件

cd /application/elasticsearch/config
cp elasticsearch.yml elasticsearch.yml.backup  						#将配置文件进行备份
vim elasticsearch.yml
-
cluster.name: my-application     									#设置集群名称
node.name: node-122													#设置节点名称[所有的节点名称都不能相同]
path.data: /application/elasticsearch/data							#设置数据存放目录
path.logs: /application/elasticsearch/logs							#设置日志存放目录
network.host: 0.0.0.0												#允许其他IP访问
http.port: 33857													#设置访问端口
discovery.seed_hosts: ["slave2", "slave3","slave4"]					#设置集群有哪些IP
cluster.initial_master_nodes: ["node-122","node-123","node-124"]	#设置集群节点,进行自动推举当主节点
-

1.6、编写一键启动脚本

# 编写脚本用于一键启动
cd /application/elasticsearch
vi start.sh
-
#!/bin/bash
lsof -i tcp:33857 | awk '/es/{print $2}' | xargs kill -9 &>/dev/null
/application/elasticsearch/bin/elasticsearch >>/application/elasticsearch/logs/es-$(date +%F).log &
-
chmod 775 start.sh
# 启动
./start.sh

2、配置安全策略

2.1、创建CA证书

cd /application/elasticsearch
./bin/elasticsearch-certutil ca #创建CA证书 
# 执行这个命令后,需要设置密码、

2.2、生成节点证书

./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #这一步需要设置证书名称和密码,证书名称默认即可
mv elastic-certificates.p12 ./config

2.3、将生成的节点证书复制给其他节点

 scp elastic@192.168.110.122/application/elasticsearch/config/elastic-certificates.p12 elastic@192.168.110.123/application/es/config
 scp elastic@192.168.110.122/application/elasticsearch/config/elastic-certificates.p12 elastic@192.168.110.124/application/es/config

2.4、附

#2.2和2.3还可以换种方式
#2.4.1 生成CA证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12
 scp elastic@192.168.110.122/application/elasticsearch/elastic-stack-ca.p12 elastic@192.168.110.123/application/es/config
 scp elastic@192.168.110.122/application/elasticsearch/elastic-stack-ca.p12 elastic@192.168.110.124/application/es/config
#2.4.2 生成节点证书
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12  #这一步,每一个节点都需要执行
#2.4.3 将证书移动到config目录中
./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12

2.5、将密码加入到密码库中

bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password

bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password

2.6、重启ES,初始化密码

sh start.sh
./bin/elasticsearch-setup-passwords interactive   # 设置密码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值