栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

在RedHat或CentOS上安装Elasticsearch

在RedHat或CentOS上安装Elasticsearch

文章目录
    • 简介
    • 方式一 rpm方式
      • 1.下载Elasticsearch
      • 2.安装
      • 3.修改配置文件
      • 4.启动服务
      • 5.查看启动状态
      • 问题
    • 方式二 tar.gz包方式
      • 1.下载Elasticsearch
      • 2.解压
      • 3.新建一个用户,Elasticsearch不运行root用户运行
      • 4.修改配置文件
      • 5.启动
    • 相关扩展
      • 前言
      • 文件描述符
      • 虚拟内存
      • 线程数
      • 配置
      • 允许外网访问
    • 目录介绍

简介

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文检索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

最新版本下载地址:https://www.elastic.co/cn/downloads/elasticsearch

历史版本下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch-no-jdk

注意尽量选择不包含JDK的版本,包含JDK的版本包太大了200多M

方式一 rpm方式 1.下载Elasticsearch

在服务器执行如下命令:

# 这个版本jdk需要11 所以用这个
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-x86_64.rpm 
# 不带jdk
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-no-jdk-x86_64.rpm

这个版本依赖的jdk版本为11,自行判断是否要下载待jdk的版本,我是常用JDK8,所以这里直接选用带JDK的版本

蠢一点就直接在浏览器点击下载,然后复制到服务器

2.安装
rpm -ivh elasticsearch-7.3.0-no-jdk-x86_64.rpm

安装完成后,所有配置目录和工作目录如下

  • 配置目录:/etc/elasticsearch
  • 工作目录:/usr/share/elasticsearch
3.修改配置文件

安装完毕之后,编辑vim /etc/elasticsearch/elasticsearch.yml

4.启动服务

修改配置后,执行如下命令,启动服务并设置为自动启动:

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
5.查看启动状态
systemctl status elasticsearch.service

验证:curl http://localhost:9200

{
  "name" : "xxxx-all",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "06_AFOMMQV-E_6L_uBqBgQ",
  "version" : {
    "number" : "7.3.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "de777fa",
    "build_date" : "2019-07-24T18:30:11.767338Z",
    "build_snapshot" : false,
    "lucene_version" : "8.1.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
问题

问题:没有找到JAVA_HOME

解决

其实已经安装过java环境了,但是不在其指定的目录,查看java安装位置

在/etc/sysconfig/elasticsearch的这个文件里面设置JAVA_HOME环境变量:

复制代码
################################
# Elasticsearch
################################

# Elasticsearch home directory
#ES_HOME=/usr/share/elasticsearch

# Elasticsearch Java path
JAVA_HOME=/usr/java/jdk1.8.0_121

# Elasticsearch configuration directory
ES_PATH_CONF=/etc/elasticsearch
方式二 tar.gz包方式 1.下载Elasticsearch

在服务器执行如下命令:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.3.0-no-jdk-linux-x86_64.tar.gz

这个版本依赖的jdk版本为11,自行判断是否要下载待jdk的版本

蠢一点就直接在浏览器点击下载,然后复制到服务器

2.解压
# 解压
tar -zxvf elasticsearch-7.3.0-no-jdk-linux-x86_64.tar.gz
# 移动目录
mv elasticsearch-7.3.0-no-jdk-linux-x86_64  /usr/local/
3.新建一个用户,Elasticsearch不运行root用户运行
# 添加用户es
useradd es 
# 为es用户设定登录密码
passwd es
# 用root用户执行 给文件夹赋权
chown -R  es elasticsearch-7.3.0-no-jdk-linux-x86_64
4.修改配置文件

编辑文件

vim config/elasticsearch.yml

修改配置

#修改为自己的ip
network.host: x.x.x.x
#把这个注释先放开
cluster.initial_master_nodes: ["node-1", "node-2"] 
5.启动
# -d 后台启动
./elasticsearch -d
相关扩展 前言

使用 RPM 或 Debian 软件包时,可以在系统配置文件中指定系统设置和环境变量,该文件位于:

/etc/sysconfig/elasticsearch
文件描述符

Elasticsearch 使用了很多文件描述符或文件句柄。耗尽文件描述符可能是灾难性的,并且很可能会导致数据丢失。确保将运行 Elasticsearch 的用户的打开文件描述符数量限制增加到 65,536 或更高。

对于.zip和.tar.gz包,ulimit -n 65535在启动 Elasticsearch 之前设置为 root,或者设置nofile为65535in /etc/security/limits.conf。

在 Linux 系统上,可以通过编辑/etc/security/limits.conf文件为特定用户设置永久限制。要将用户的最大打开文件数设置elasticsearch为 65,535,请将以下行添加到limits.conf文件中:

elasticsearch  -  nofile  65535

RPM 和 Debian 软件包已将文件描述符的最大数量默认为 65535,不需要进一步配置。

检查每个节点的配置

curl -X GET "localhost:9200/_nodes/stats/process?filter_path=**.max_file_descriptors&pretty"
虚拟内存

Elasticsearchmmapfs默认使用一个目录来存储它的索引。操作系统对 mmap 计数的默认限制可能太低,这可能会导致内存不足异常。

在 Linux 上,您可以通过运行以下命令来增加限制 root:

sysctl -w vm.max_map_count=262144

要永久设置此值,请更新 /etc/sysctl.conf 中的vm.max_map_count设置。要在重新启动后进行验证,请运行sysctl vm.max_map_count.

RPM 和 Debian 软件包将自动配置此设置。无需进一步配置。

线程数

Elasticsearch 使用多个线程池来进行不同类型的操作。重要的是它能够在需要时创建新线程。确保 Elasticsearch 用户可以创建的线程数至少为 4096。

这可以通过ulimit -u 4096在启动 Elasticsearch 之前设置为 root来完成,或者设置nproc为4096in /etc/security/limits.conf。

作为服务运行时的包分发systemd将自动配置 Elasticsearch 进程的线程数。不需要额外的配置。

配置

配置文件位置**/etc/elasticsearch**

1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc/security/limits.conf,增加配置,用户退出后重新登录生效

*               soft    nofile            655350
*               hard    nofile            655350

2、max number of threads [3818] for user [es] is too low, increase to at least [4096]

修改/etc/security/limits.conf,增加配置,用户退出后重新登录生效

*               hard    nproc           4096
*               soft    nproc           4096

3、max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

修改/etc/sysctl.conf,增加如下配置

fs.file-max=655350

保存后执行sysctl -p 生效

4、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf,增加如下配置

vm.max_map_count=262144

保存后执行sysctl -p 生效

允许外网访问

vi conf/elasticsearch.yml
1.修改 network.host 为 0.0.0.0

network.host: 0.0.0.0

2.配置cluster.initial_master_nodes为当前node,默认为注释,放开注释就行了

cluster.initial_master_nodes: ["node-1", "node-2"]
目录介绍

bin 目录下面存放是一系列可执行程序

  • elasticsearch,Elasticsearch 的启动进程,Elasticsearch 程序的主入口。
  • elasticsearch-env,用于环境变量的配置,可以在这里修改相关的环境配置,大部分情况不建议直接修改此配置文件,可以通过在外部通过变量名来进行设置。
  • elasticsearch-translog,主要用于对 Translog 进行清理操作。
  • elasticsearch-keystore,主要用于管理 Elasticsearch 的密钥。
  • elasticsearch-plugin,插件安装工具。
  • elasticsearch-service* 开头的几个程序是为 Windows 平台提供的服务管理工具。

config 目录,主要是存放一下配置文件信息:

  • elasticsearch.yml,Elasticsearch 的配置文件,使用 Yaml 文件格式作为标准。
  • jvm.options,Java 虚拟机运行环境的相关参数配置。
  • log4j2.properties,日志文件相关的配置。

lib 目录是 Elasticsearch 依赖的 Jar 包和自己的 Java 本身程序所在的地方。

data 目录,数据默认存放的位置。

logs 目录,日志默认存放的位置。

modules 目录,存放 Elasticsearch 的内部功能模块。

plugins 目录,存放 Elasticsearch 的外部扩展插件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号