0


CentOS上Elasticsearch安装全攻略:YUM、二进制与Docker任选

🐇明明跟你说过:个人主页

🏅个人专栏:《洞察之眼:ELK监控与可视化》🏅

🔖行路有良友,便是天堂🔖

一、引言

1、Elasticsearch简介

Elasticsearch 是一个开源的分布式搜索和分析引擎,最初由 Elasticsearch N.V. 公司开发,并于 2010 年首次发布。它建立在 Apache Lucene 基础之上,提供了分布式的实时搜索和分析功能,被广泛应用于各种场景,包括日志分析、全文搜索、监控和可视化等。

以下是 Elasticsearch 的一些重要特点和功能:

1. 分布式架构:

  • Elasticsearch 是一个分布式系统,数据可以水平扩展到多个节点上存储和处理。
  • 数据被分割成多个分片(Shard),每个分片可以被复制到多个副本(Replica),以提高数据的可用性和容错性。

2. 实时搜索:

  • Elasticsearch 提供了快速的实时搜索功能,可以在大规模数据集上快速地进行搜索、过滤和排序。
  • 支持复杂的搜索查询语法和全文搜索功能,可以满足各种搜索需求。

3. 多种数据类型:

  • Elasticsearch 支持多种数据类型的存储和索引,包括文本、数字、日期、地理位置等。
  • 支持结构化数据和非结构化数据的索引和查询。

4. 强大的聚合和分析:

  • Elasticsearch 提供了丰富的聚合(Aggregation)功能,可以对数据进行统计、分组、计算等操作。
  • 支持各种聚合函数和桶(Bucket)操作,可以生成复杂的数据分析报表和可视化。

5. RESTful API:

  • Elasticsearch 提供了基于 RESTful API 的接口,支持各种 HTTP 请求和 CRUD 操作。
  • 开发者可以使用各种编程语言和工具与 Elasticsearch 进行交互,实现数据的索引、搜索和分析。

6. 可扩展性和灵活性:

  • Elasticsearch 提供了丰富的插件和扩展机制,可以根据需求定制和扩展功能。
  • 支持与其他开源工具和系统集成,如 Logstash、Kibana、Beats 等,构建完整的日志分析和监控解决方案。

2、Elasticsearch单机版与集群版的区别

1. 可扩展性:

  • 单机版:适用于小规模数据集和个人项目,只能在单个节点上运行,无法水平扩展。
  • 集群版:通过将数据分布在多个节点上,可以实现水平扩展,适用于处理大规模数据和高并发查询。

2. 性能:

  • 单机版:性能受限于单个节点的硬件资源,包括CPU、内存和磁盘。对于大型数据集或高并发查询,性能可能不足。
  • 集群版:通过利用多个节点的计算和存储资源,可以提供更高的性能和容量。

3. 可用性和容错性:

  • 单机版:单节点故障可能导致整个系统不可用,缺乏容错能力。
  • 集群版:具有容错机制,即使部分节点故障,集群仍然可以继续提供服务。具备高可用性和容错性。

4. 数据复制和分片:

  • 单机版:通常只有一个节点,数据没有复制和分片,存在单点故障风险。
  • 集群版:数据被分成多个分片,每个分片可以在集群中的多个节点上进行复制,提高了数据的可用性和容错性。

5. 资源利用:

  • 单机版:资源利用受限于单个节点,无法充分利用多台服务器的资源。
  • 集群版:可以跨多台服务器动态分配和利用资源,提高了资源利用率。

单机版适用于小规模的开发和测试,而集群版则适用于大规模的生产环境,具有更高的性能、可用性和容错性。

二、YUM安装

1、环境准备

1. 准备1台centos或RedHat服务器

版本:7.x

2. 关闭防火墙

[root@bogon ~]# systemctl stop firewalld

3. 关闭selinux

[root@bogon ~]# setenforce 0

2、Elasticsearch安装

1. 导入Elasticsearch的GPG密钥

[root@bogon ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

这个命令是用来导入Elasticsearch的GPG密钥到系统中,以便在安装Elasticsearch软件包时验证其真实性和完整性。这个密钥用于验证Elasticsearch软件包的数字签名,确保软件包在下载和安装过程中没有被篡改。

2. 创建YUM配置文件

[root@bogon ~]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# cat elasticsearch.repo 
# 输入以下内容
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

  • **[elasticsearch]: **这是存储库的标识符,可以通过这个标识符在系统中引用这个存储库。
  • name=Elasticsearch repository for 7.x packages: 这是存储库的名称,它描述了这个存储库所提供的软件包的内容和版本。在系统中列出可用存储库时会显示这个名称。
  • **baseurl=https://artifacts.elastic.co/packages/7.x/yum: **这是存储库的基本URL。当系统尝试从这个存储库获取软件包时,会使用这个URL。在这个例子中,它指向Elasticsearch 7.x软件包的YUM存储库。
  • **gpgcheck=1: **这个参数指示YUM在下载软件包时要执行GPG密钥检查。如果为1,YUM会检查下载的软件包是否经过签名,以确保它们没有被篡改。
  • **gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch: **这是存储库使用的GPG密钥的URL。YUM会使用这个密钥来验证从存储库下载的软件包。
  • **enabled=0: **这个参数指示存储库是否启用。如果设置为0,存储库将被禁用,YUM不会从这个存储库获取软件包。
  • **autorefresh=1: **这个参数指示YUM是否在每次运行时自动刷新存储库数据,以确保获取最新的软件包信息。
  • **type=rpm-md: **这个参数指定存储库的元数据类型,这里是RPM Metadata格式。

执行安装

[root@bogon ~]# yum install --enablerepo=elasticsearch elasticsearch -y

查看版本

[root@bogon ~]# rpm -qa elasticsearch
elasticsearch-7.17.21-1.x86_64

3、修改配置文件

编辑elasticsearch的配置文件

[root@bogon ~]# vim /etc/elasticsearch/elasticsearch.yml

添加如下内容

# 集群名称
cluster.name: my_cluster
#
# 节点名称
node.name: my_node
#
# 路径设置
path.data: /es/data
path.logs: /es/logs
#
# 网络设置
network.host: 0.0.0.0
http.port: 9200
#
# 集群设置
discovery.type: single-node

创建数据目录

[root@bogon ~]# mkdir /es/data -p && mkdir /es/logs
[root@bogon ~]# chmod 777 /es/ -R

4、启动Elasticsearch

[root@bogon ~]# systemctl restart elasticsearch

查看状态

[root@bogon ~]# systemctl status elasticsearch

5、访问测试

在浏览器输入节点的IP加9200端口,如果能看到下面的页面,则安装成功

三、二进制启动

1、环境准备

1. 准备1台centos或RedHat服务器

版本:7.x

2. 关闭防火墙

[root@bogon ~]# systemctl stop firewalld

3. 关闭selinux

[root@bogon ~]# setenforce 0

4. 安装wget工具

[root@localhost ~]# yum install -y wget

5. 下载Elasticsearch二进制包

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.21-linux-x86_64.tar.gz

**6. 解压包 **

[root@localhost ~]# tar zxvf  elasticsearch-7.17.21-linux-x86_64.tar.gz -C /opt/

7. 创建一个普通账户,用于启动服务

[root@localhost ~]# useradd es

2、修改配置文件

编辑配置文件

[root@localhost ~]# vim /opt/elasticsearch-7.17.21/config/elasticsearch.yml

添加如下内容

# 集群名称
cluster.name: my_cluster
#
# 节点名称
node.name: my_node
#
# 路径设置
path.data: /es/data
path.logs: /es/logs
#
# 网络设置
network.host: 0.0.0.0
http.port: 9200
#
# 集群设置
discovery.type: single-node

创建数据目录

[root@localhost ~]# mkdir /es/data -p && mkdir /es/logs
[root@localhost ~]# chmod 777 -R /es/

添加执行权限

[root@localhost ~]# chmod -R 777 /opt/elasticsearch-7.17.21/logs
[root@localhost ~]# chmod -R 777 /opt/elasticsearch-7.17.21/config

3、启动Elasticsearch

进入Bin目录

[root@localhost /]# cd /opt/elasticsearch-7.17.21/bin/

切换用户

[root@localhost bin]# su es -

启动服务

[es@localhost bin]$ ./elasticsearch

4、访问测试

在浏览器输入节点的IP加9200端口,如果能看到下面的页面,则安装成功

四、Docker方式安装

1、环境准备

1. 准备1台centos或RedHat服务器

版本:7.x

2. 关闭防火墙

[root@bogon ~]# systemctl stop firewalld

3. 关闭selinux

[root@bogon ~]# setenforce 0

4. 安装Docker

如果还未安装Docker请参考《在CentOS系统中轻松安装和配置Docker指南》这篇文章

5. 拉取镜像

[root@localhost ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.21

2、启动Elasticsearch

[root@localhost ~]# docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "network.host=0.0.0.0" -e "http.cors.allow-origin=*" -e "discovery.type=single-node"  docker.elastic.co/elasticsearch/elasticsearch:7.17.21
  • -d:表示以“分离模式”(detached mode)运行容器,即在后台运行容器,并且不会占用当前终端。
  • --name elasticsearch:指定容器的名称为elasticsearch,这样你就可以通过名称来引用容器。
  • -p 9200:9200 -p 9300:9300:将容器的9200和9300端口映射到主机的9200和9300端口。Elasticsearch使用9200端口作为HTTP REST API的端口,而9300端口作为集群通信端口。
  • -e "network.host=0.0.0.0":设置Elasticsearch的网络主机为0.0.0.0,表示允许从任何IP地址访问Elasticsearch服务。通常情况下,这用于使Elasticsearch在Docker容器内部的所有网络接口上都可用。
  • -e "http.cors.allow-origin=*":设置Elasticsearch的CORS(跨源资源共享)策略,允许从任何来源访问Elasticsearch的HTTP端点。这样设置可以让你在浏览器中通过JavaScript从任何域名发出请求到Elasticsearch服务。
  • -e "discovery.type=single-node":设置Elasticsearch的发现类型为single-node,这告诉Elasticsearch以单节点模式运行,它会自动配置所需的发现设置,如cluster.initial_master_nodes等。

3、访问测试

在浏览器输入节点的IP加9200端口,如果能看到下面的页面,则安装成功

💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于ELK的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!

标签: 运维 linux centos

本文转载自: https://blog.csdn.net/weixin_53269650/article/details/138661748
版权归原作者 明明跟你说过 所有, 如有侵权,请联系我们删除。

“CentOS上Elasticsearch安装全攻略:YUM、二进制与Docker任选”的评论:

还没有评论