2024-08-14
linux
00
请注意,本文编写于 212 天前,最后修改于 210 天前,其中某些信息可能已经过时。

目录

ES的单机部署搭建
ES的集群部署搭建
配置安全策略

简单介绍

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

Elasticsearch的主要特点包括:

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

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

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

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

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

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

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

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

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

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、基础配置

# 创建对应文件夹 mkdir -p /application # 下载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 # 日志存放目录 # 调优集群的初始化参数 # 修改文件描述符的最大打开数量 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 # 创建普通用户进行ES的启动 useradd elastic passwd elastic chown -R elastic:elastic /application/elasticsearch/ #将文件属主权限给elastic su elastic # 切换用户 # 修改基础配置文件 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"] #设置集群节点,进行自动推举当主节点 - # 编写一键启动脚本 # 编写脚本用于一键启动 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

配置安全策略

# 创建CA证书 cd /application/elasticsearch ./bin/elasticsearch-certutil ca #创建CA证书 # 执行这个命令后,需要设置密码、 # 生成节点证书 ./bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 #这一步需要设置证书名称和密码,证书名称默认即可 mv elastic-certificates.p12 ./config # 将生成的节点证书复制给其他节点 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.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、 # 将密码加入到密码库中 bin/elasticsearch-keystore add xpack.security.transport.ssl.keystore.secure_password bin/elasticsearch-keystore add xpack.security.transport.ssl.truststore.secure_password # 重启ES,初始化密码 sh start.sh ./bin/elasticsearch-setup-passwords interactive # 设置密码
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay