1-Linux环境下安装Elasticsearch

  • Post author:
  • Post category:linux




Linux环境下安装Elasticsearch



1、下载安装相关软件包
# 1、在home目录下创建elasticsearch文件夹
mkdir -p /home/elasticsearch

# 2、切换到目录/home/elasticsearch
cd /home/elasticsearch

# 3、安装下载工具和认证工具
yum install wget
yum install perl-Digest-SHA

# 4、下载程序包
## elasticsearch 安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
## elasticsearch 校验文件
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz.sha512
# 5、解压安装包和认证程序包
shasum -a 512 -c elasticsearch-7.13.2-linux-x86_64.tar.gz.sha512
tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz


2、创建ES启动用户

由于不能直接使用root用户启动Elasticsearch,需要单独创建一个新用户。

# 1、创建操作Elasticsearch的用户组
groupadd esgroup

# 2、创建操作Elasticsearch的用户
useradd esuser -g esgroup

# 3、设置操作Elasticsearch用户的密码
passwd esuser
espasswd
# 4、给操作Elasticsearch的用户设置相关目录的操作权限
cd /home/elasticsearch
chown -R esuser:esgroup elasticsearch-7.13.2


3、修改系统配置,满足ES的必须条件
# 1、修改limits配置文件进行系统配置
vim /etc/security/limits.conf
# 在limits.conf配置文件的最下面新增以下4行代码
nofile 65536
memlock unlimited
esuser hard nofile 65536
esuser soft nofile 65536


4、修改与使用ES相关的系统配置,在启动ES
# 切换用户,输入密码:espasswd
su esuser

# 进入启动目录
cd /home/elasticsearch/elasticsearch-7.13.2

# 查看当前程序的相关目录
ls

# 修改相关的系统配置
sysctl -w vm.max_map_count=262114

# 修改系统限制
vim config/elasticsearch.yml

# 在当前配置文件的最下面添加以下配置
cluster.name:elasticsearch
node.name:es-node0
http.port=9200
network.host:0.0.0.0
cluster.initial_master_node:["es-node0"]

# 启动elasticsearch
./bin/elasticsearch

启动日志

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U9w1eoWM-1678355293492)(/Users/zhaoxianwang/Library/Application Support/typora-user-images/image-20230224142819430.png)]



5、启动ES,验证

在宿主机终端输入:curl http:localhost:9200

如输出一下内容,表示启动成功。

[esuser@db root]$ curl http://localhost:9200
{
  "name" : "es-node1",
  "cluster_name" : "my-elasticsearch",
  "cluster_uuid" : "AEHRJfFiTmmSrwTIomdSbg",
  "version" : {
    "number" : "7.13.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "4d960a0733be83dd2543ca018aa4ddc42e956800",
    "build_date" : "2021-06-10T21:01:55.251515791Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgl5plKA-1678355293493)(/Users/zhaoxianwang/Library/Application Support/typora-user-images/image-20230226185331599.png)]



6、elasticsearch.yml配置说明
属性名 说明
cluster.name 配置es集群的名称,默认值:elasticsearch,建议修改
node.name es节点名称,默认随机指定一个名称,建议修改
path.conf 设置配置文件的路径,默认存储路径为es根目录下的config文件夹
path.data 设置索引数据的存储路径,默认存储路径为es根目录下的data文件夹,可以设置多个存储路径,以逗号隔开。
path.logs 设置日志文件的存储路径,默认存储路径为es根目录下的logs文件夹
boostrap.memory_lock 设置为true,表示es使用的内存不会进行交换操作,否则反之。
network.host 设置bind_host和publish_host,设置为0.0.0.0表示允许外网访问
http.port 设置对外服务的http端口,默认为9200
transport.tcp.port 集群节点之间的通信端口,默认为9300
discovery.zen.ping.timeout 设置es自动发现节点连接超时的时间,默认为3秒,可以根据网络延迟情况进行设置

在elasticsearch根目录下的config文件夹中的jvm.options文件,修改两个参数,修改之后重启即可。

# 最大内存
-Xms4g
# 最小内存
-Xmx4g

ERROR: [1] bootstrap checks failed

  1. 关于报错:[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

解决办法:

vim /etc/security/limits.conf

添加

  • soft nofile 65536
  • hard nofile 65536

来回切换下用户,使之生效;

  1. 关于报错:[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

    解决办法:

vim /etc/sysctl.conf

添加:

vm.max_map_count=262144

保存后,执行:

sysctl -p

重新启动,成功。

针对第三个问题:system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

出现错误的原因:是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

在elasticsearch.yml中添加配置项:bootstrap.system_call_filter为false:

1

2

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

针对第四个问题:max number of threads [1024] for user [wh] likely too low, increase to at least [2048]

vi /etc/security/limits.d/90-nproc.conf

修改如下内容:

  • soft nproc 1024

#修改为

  • soft nproc 2048



版权声明:本文为zx_1305769448原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。