安装elasticsearch-5.4.1的过程

来源:互联网 发布:淘宝放心淘加入条件 编辑:程序博客网 时间:2024/06/16 23:26

安装准备:

安装Elasticsearch唯一的要求是安装官方新版的Java,包括对应的Jdk。需要jdk1.8以上。

安装Elasticsearch

首先到官网下载最新版本的Elasticsearch压缩包。

可以使用命令,注意将最新的可用的下载链接填入:

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.zip
unzip elasticsearch-5.4.1.zip
cd elasticsearch-5.4.1

运行Elasticsearch

Elasticsearch已经准备就绪,执行以下命令可在前台启动:

./bin/elasticsearch
如果想在后台以守护进程模式运行,添加-d参数。

如果以root用户启动,正常情况下这里会报错

在root账户下面调用启动命令出错的解决方案:

为什么会这样呢?这是因为处于系统安装考虑的设置,由于Elasticsearch可以接收用户输入的脚本并且执行,为了系统安全考虑,不允许root账号启动,所以建议给Elasticsearch单独创建一个用户来运行Elasticsearch。

  1. 创建elasticsearch用户组以及elasticsearch用户,命令如下:
          groupadd elasticsearch
          useradd elasticsearch(用户名) -g elasticsearch(组名) -p elasticsearch(密码)

  2. 更改Elasticsearch文件夹以及内部文件的所属用户以及组为elasticsearch,修改完成之后如图所示:
      chown -R elasticsearch:elasticsearch elasticsearch

  3. 切换到elasticsearch用户下,再次执行启动命令
ERROR: [3] bootstrap checks failed[1]: max file descriptors [51200] for elasticsearch process is too low, increase to at least [65536][2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144][3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

解决方案:

第一个问题解决方法:

切换到root用户修改
vim /etc/security/limits.conf

在最后面追加下面内容
es hard nofile 65536
es soft nofile 65536
修改后重新登录 es 用户,使用如下命令查看是否修改成功
ulimit -Hn
65536

第二个问题解决方法 提高vm.max_map_count 的大小
切换到root用户
vim /etc/sysctl.conf
在最后面追加下面内容
vm.max_map_count=262144
使用 sysctl -p 查看修改后的结果
sysctl -p      

第三个问题解决方法:在es配置中加入下面命令即可

bootstrap.system_call_filter: false


打开另一个终端进行测试:
curl ‘http://localhost:9200/?pretty’
你能看到以下返回信息:

{    "name": "vP19PMO",    "cluster_name": "elasticsearch",    "cluster_uuid": "IMKMfkMsSrKODIYg5gxgeQ",    "version": {        "number": "5.0.2",        "build_hash": "f6b4951",        "build_date": "2016-11-24T10:07:18.101Z",        "build_snapshot": false,        "lucene_version": "6.2.1"    },    "tagline": "You Know, for Search"}

这说明你的ELasticsearch集群已经启动并且正常运行。

原创粉丝点击