Linux下安装Elasticsearch5.5

来源:互联网 发布:工资数据分析 编辑:程序博客网 时间:2024/06/01 08:57

Linux下安装Elasticsearch5.5

1.安装准备

es5.5.1:登录 https://www.elastic.co/downloads/elasticsearch,下载完后得到 elasticsearch-5.5.1.tar.gz;

jdk1.8,登录http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载linux的gz包;

2.安装概要

针对自己安装过程中出现的问题,整理下具体安装步骤

  1. 新建用户,5.5不支持root用户运行;
  2. 安装jdk1.8,设置环境变量;
  3. 安装Elasticsearch;
  4. 启动Elasticsearch
  5. 部署集群配置
  6. 解决外网无法访问的问题

3.具体安装步骤

3.1 .新建es用户

ElasticSearch是不能用root用户启动的(这是根据elasticsearch的安全策略,不允许用root来启动),以root用户启动会报以下异常
所以我们就需要自己新建一个用户和用户组,这个用户和用户组是专门来管理ElasticSearch服务的。新建用户和用户组如下:

groupadd -g 700 esgroup ——>新建用户组,组名叫esgroup;
useradd -u 701 -g 700 es ——>新建用户,用户名叫es;
passwd es  ——>设置用户密码为es;
gpasswd -a es esgroup —–>将用户添加到用户组里面,第一个es表示用户名,第二个esgroup表示组名;
chown -R es:esgroup /home/es   —–>给用户主目录赋权限,Root下执行;
chown -R es:esgroup /opt/  —–>给es要安装的路径赋权限, Root下执行;

3.2. 安装jdk1.8

通用标准安装,请参照百度

https://jingyan.baidu.com/article/d5c4b52bebcb64da570dc571.html

3.3. 安装Elasticsearch

解压安装包,到/opt,目录下。

在Linux中,/opt这个目录主要存放那些可选的程序。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。要删除某一程序的时候,你只需删除/opt/(安装的软件)目录即可,而不影响系统其他任何设置,非常简单。

解压到当前目录,使用命令 tar -zxvf elasticsearch-5.5.1.tar.gz删除压缩文件,使用命令 rm -f elasticsearch-5.5.1.tar.gz

至此,elasticsearch安装完成。

3.4. 修改配置文件

进入该目录,使用命令 cd elasticsearch-5.5.1

img

可以看到有多个目录和文件,进入其中的config目录(使用命令 cd config)

3.4.1.修改elasticsearch.yml

我们需要编辑其中的 elasticsearch.yml 这一文件,使用命令 vim elasticsearch.yml

  修改network.host和discovery.zen.ping.unicast.hosts的IP,改成当前ip地址(通过 ifconfig 命令查看)。如果不修改,则只能本地访问(localhost或127.0.0.1)

img

img

在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

    bootstrap.memory_lock: false    bootstrap.system_call_filter: false

3.4.2.修改系统参数

使用命令

vim /etc/security/limits.conf 

在最后添加数据如下:(soft nproc和hard nproc也可以设置成65536)

img

img

使用命令

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

将下图中红框所示位置的值从 1024 改成 2048

img

使用命令

 vim /etc/sysctl.conf 

在最后添加一行数据如下:

vm.max_map_count=262144

img

修改完后,执行如下命令

sysctl -p

4.启动Elasticsearch

启动elasticsearch首先进入其安装目录,使用命令 cd /opt/elasticsearch-5.0.0/bin

正常执行

./elasticsearch

后台启动

./elasticsearch -d

5.部署集群

如果需要部署集群,这里以使用三台虚拟机为例,首先每个虚拟机系统都作如上安装和配置,其中,有几个地方要额外配置一下。

  编辑 elasticsearch.yml 文件,设置集群名和每个节点的名字,以及写入每个节点的IP地址,使用命令 vim elasticsearch.yml

  注意每个节点的network.host要改成当前节点的IP。

img

img

6.外网无法访问问题解决

1.首先检查elasticsearch.yml配置文件,其中的 network.host 和 discovery.zen.ping.unicast.hosts 是否正确输入了当前服务器的IP地址;

2.虚拟机和物理机以及其他主机的IP地址需要在一个网段

如果不在同一个网段,将虚拟机的联网方式改为Bridge模式;

3.物理机ping虚拟机,虚拟机ping物理机能否通,如果不通,关闭物理机和虚拟机的防火墙

 Linux下关闭防火墙使用指令;

关闭防火墙:
两种方式:
1)重启后生效:

chkconfig iptables off ( 对应的开启防火墙命令为: # chkconfig iptables on )

2)即时生效,但重启后防火墙会再次启动:

service iptables stop ( 对应的开启防火墙命令为: # service iptables start )


问题
ERROR: bootstrap checks failed system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
原因:
这是在因为Centos6不支持SecComp,而ES5.x默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决:
在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

参考文章
http://blog.csdn.net/qiangziqiangz/article/details/62888423
http://www.cnblogs.com/ShawnYuki/p/6818677.html

阅读全文
0 0
原创粉丝点击