16boke - 一路博客

centos安装elasticsearch

一、下载elasticsearch

直接进入elasticsearch的官网,下载最新的安装包:https://www.elastic.co/downloads/elasticsearch

这里我下载的是5.1.1

二、安装elasticsearch

将下载的安装包上传到centos,或者直接在centos使用wget命令下载。

1、解压

unzip elasticsearch-5.1.1.zip

2、安装jdk1.8

要安装elasticsearch官方建议使用jdk1.8的版本,所以先安装并部署好jdk,关于jdk的部署参考网上其他资料。

3、运行

cd bin

./elasticsearch

可能会出现错误,下面列出常见的错误:

(1)elasticsearch不能以root权限来运行,会出现这种错误:Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root

解决办法:

因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户

第一步:liunx创建新用户  adduser XXX    然后给创建的用户加密码 passwd XXX    输入两次密码。

第二步:切换刚才创建的用户 su XXX  然后执行elasticsearch  会显示Permission denied 权限不足。

第三步:给新建的XXX赋权限,chmod 777 *  这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。

第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。

(2)提示:Max number of threads for elasticsearch too low

clipboard.png

解决办法:

修改/etc/security/limits.conf

vim /etc/security/limits.conf

添加一行:xxx    -       nproc           2048

其中"xxx"为启动elasticsearch的用户

(3)提示:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

clipboard.png

解决办法:

修改/etc/sysctl.conf

vim /etc/sysctl.conf

添加一行:vm.max_map_count=262144,添加完了执行:sysctl -p,看结果是不是vm.max_map_count = 262144

成功运行的结果是会出现started即可。

可能出现localhost:9200 或者127.0.0.1:9200都能访问的情况,但是根据IP:9200就是访问不了。 此时修改:elasticsearch.yaml文件  

network.host: 192.168.1.100 即可根据IP访问

(4)无法安装插件license

bin/elasticsearch-plugin install license

ERROR: Unknown plugin license

原因:ElasticSearch5.0.0以后插件命令已经改变

解决方案:使用最新命令安装所有插件

bin/elasticsearch-plugin install x-pack

5、测试运行

在浏览器输入:http://192.168.1.100:9200/,如果出现:

clipboard.png

说明部署成功,其中cluster_name:my-demo,是我修改了默认的cluster_name。