Linux下安装Elasticsearch(超实用!!!都是踩过的坑)

1. 下载Elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz

2. 解压安装Elasticsearch

解压到当前目录

tar -zxvf elasticsearch-5.6.3.tar.gz

安装,将Elasticsearch移动到/usr/local/elasticsearch目录之中

mv elasticsearch-5.6.3 /usr/local/elasticsearch

3. 修改配置文件

  • 进入/usr/local/elasticsearch/config目录,使用vi编辑器

      vi elasticsearch.yml

  • 修改host为当前主机地址:

       network.host: 192.168.0.3

       discovery.zen.ping.unicast.hosts: ["192.168.0.3"]

  • 使用vi编辑器,修改/etc/sysctl.conf文件,添加如下代码(若无将会出现下面常见问题2):

       vm.max_map_count=262144

  • 退出保存后执行如下命令:

        sysctl -p

目前生产用的yml的配置文件:

4.新建用户及用户组

[root@localhost ~]# groupadd elsearch

[root@localhost ~]# useradd elsearch -g elsearch -p elasticsearch

[root@localhost ~]# passwd elsearch # 设置密码

[root@localhost ~]# cd /usr/local/

[root@localhost /usr/local]# chown -R elsearch:elsearch elasticsearch-5.5.2/

使用vi编辑器,修改/etc/security/limits.conf文件,在文件末尾添加如下代码(若无将会出现下面常见问题3):

elsearch soft nofile 65536

elsearch hard nofile 65536

elsearch soft nproc 4096

elsearch hard nproc 4096

elsearch soft memlock unlimited

elsearch hard memlock unlimited

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

elsearch soft nproc 2048

注意: elsearch为登录的用户名,因为root在5.0.0之后是不能启动elasticsearch。需要退出重新登录,配置才能生效

5. 常见问题

1. can not run elasticsearch as root

Elasticsearch版本> = 5.0.0时,是不可用超级管理员运行Elasticsearch的,退出管理员账号即可

2. max virutal memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案,请看上面修改配置文件第3项

3. max number of threads [3750] for user [xxx] is too low, increase to at least [4096]

解决方案,请看上面修改配置文件第4项

4. memory locking requested for elasticsearch process but memory is not locked

  • 解决办法如下:需要修改/etc/security/limits.conf
  • 添加以下命令: 

elsearch soft memlock unlimited

elsearch hard memlock unlimited

elsearch 为启动elasticsearch的用户名

  • 修改:/etc/sysctl.conf   添加 ->  vm.swappiness=0

6. 启动ElasticSearch及查看状态

  • 启动ElasticSearch服务的命令,显示启动的log:

加上-d参数表示后台启动,一般我们都采用后台启动的方式:

webtest:/usr/local/elasticsearch/bin #./elasticsearch -d

ElasticSearch服务启动成功后,可看到如下进程信息:

 ps -es |grep elasticsearch

查看ElasticSearch服务所监听的端口:

netstat -lntp |grep java

设置防火墙规则,开放ElasticSearch服务所监听的端口:

[elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent

success

[elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent

success

[elsearch@localhost elasticsearch-5.6.3]$ sudo firewall-cmd --reload

success

开放了相应的端口(9200)后,从浏览器中访问,看看能否访问成功,如下则是访问成功的:

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值