Linux - 安装Elasticsearch

1、创建普通用户

ES 是不能使用 root 用户来启动的,必须使用普通用户来安装启动。

这里我们创建一个普通用户以及定义一些常规目录,用来存放我们的数据文件和安装包等

首先安装文件elasticsearch-7.6.1-linux-x86_64.tar.gz要先传到Linux服务器

1、创建 elasticsearch用户组

[root@localhost es]# groupadd elasticsearch

2、创建jmlv用户,并设置密码

用户名称可以自己取别的,不一定要和我一样

[root@localhost es]# useradd -g elasticsearch jmlv

#设置密码为jmlv123
[root@localhost es]# passwd jmlv
更改用户 jmlv 的密码 。
新的 密码:
无效的密码: 密码包含用户名在某些地方
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
# 注意:【无效的密码】提示,可以忽略;继续输入第一遍设置的密码

或者

# 创建普通用户,用户名为 jmlv, 用户组为elasticsearch, 密码为jmlv123
[root@localhost es]# useradd jmlv -g elasticsearch -p jmlv123

3、创建es文件夹,并修改owner为jmlv用户

[root@localhost es]# mkdir -p /usr/local/es

# 解压 elasticsearch-7.6.1-linux-x86_64.tar.gz
[root@localhost es]# tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz -C /usr/local/es

# 修改es文件的owner为jmlv
[root@localhost es]# chown -R jmlv:elasticsearch /usr/local/es/elasticsearch-7.6.1

4、设置sudo权限,让普通用户有更大的操作权限

# 使用root用户执行visudo命令
[root@localhost es]# visudo

sudo修改位置

jmlv    ALL=(ALL)   ALL

5、切换jmlv用户

[root@localhost es]# su jmlv

Vim复制一整行和复制多行
在这里插入图片描述

2、修改配置文件

1、修改elasticsearch.yml

#1)创建 data 目录
[jmlv@localhost es]$ mkdir -p /usr/local/es/elasticsearch-7.6.1/data
#2)创建 log 目录
[jmlv@localhost es]$ mkdir -p /usr/local/es/elasticsearch-7.6.1/log
#3)切换到config目录
[jmlv@localhost es]$ cd /usr/local/es/elasticsearch-7.6.1/config/
#4)修改elasticsearch.yml
[jmlv@localhost config]$ vim elasticsearch.yml
cluster.name: my-app
node.name: node-1
path.data: /usr/local/es/elasticsearch-7.6.1/data
path.logs: /usr/local/es/elasticsearch-7.6.1/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["服务器IP"]
cluster.initial_master_nodes: ["节点名"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"

assets/

2、修改 jvm.option

修改jvm.option 配置文件,调整jvm堆内存大小

使用jmlv用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。

  cd /usr/local/es/elasticsearch-7.6.1/config
  vim jvm.options
  -Xms2g -Xmx2g 

在这里插入图片描述在这里插入图片描述

3、修改系统配置,解决启动时候的问题

由于现在使用普通用户来安装es服务,且es服务对服务器的资源要求比较多,包括内存大小,线程数等。所以我们需要给普通用户解开资源的束缚

1、普通用户打开文件的最大数限制

问题错误信息描述:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错

使用普通用户执行以下命令解除打开文件数据的限制

[jmlv@localhost bin]$ sudo vi /etc/security/limits.conf

# 添加如下内容: 注意*不要去掉了
* soft nofile 65536
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

此文件修改后需要重新登录用户,才会生效

2、普通用户启动线程数限制

问题错误信息描述
max number of threads [1024] for user [es] likely too low, increase to at least [4096]

修改普通用户可以创建的最大线程数

*max number of threads [1024] for user [es] likely too low, increase to at least [4096]*原因:无法创建本地线程问题,用户最大可创建线程数太小解决方案:修改90-nproc.conf 配置文件。

使用jmlv用户执行以下命令修改配置文件

Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
Centos7
sudo vi /etc/security/limits.d/20-nproc.conf

找到如下内容:

* soft nproc 1024#修改为
* soft nproc 4096

3、普通用户调大虚拟内存

错误信息描述:
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

调大系统的虚拟内存

原因:最大虚拟内存太小

每次启动机器都手动执行下。

root用户执行以下命令

#编辑 /etc/sysctl.conf,
[root@localhost bin]$ vim /etc/sysctl.conf

# 追加以下内容:
vm.max_map_count=262144 

#保存后,执行:sysctl -p

备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效

4、启动ElasticSearch

三台机器使用jmlv用户执行以下命令启动es服务

nohup /usr/local/es/elasticsearch-7.6.1/bin/elasticsearch 2>&1 &   

或者后台启动ES 进入bin目录 ./elasticsearch -d

启动成功之后jps即可看到es的服务进程,并且访问页面

http://192.168.21.130:9200/?pretty                         

能够看到es启动之后的一些信息

注意:如果哪一台机器服务启动失败,那么就到哪一台机器的

/usr/local/es/elasticsearch-7.6.1/log              

这个路径下面去查看错误日志

关闭Linux防火墙 永久性生效,重启后不会复原 
开启: chkconfig iptables on 
关闭: chkconfig iptables off 

即时生效,重启后复原 
开启: service iptables start 
关闭: service iptables stop 

注意:启动ES的时候出现 Permission denied,不一定都会出现

原因:当前的用户没有对XX文件或目录的操作权限

5、打开防火墙端口

如果不想关闭防火墙,只想打开某个端口,可通过如下方式

参考文章:Centos7开放及查看端口

# 切换成root用户
su root

# 查看防火墙所有开发的端口
[root@localhost bin]# firewall-cmd --zone=public --list-ports
15672/tcp
# 开发9200端口
[root@localhost bin]# firewall-cmd --zone=public --add-port=9200/tcp --permanent
success
# 配置立即生效
[root@localhost bin]# firewall-cmd --reload
success

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值