centos7 安装elasticsearch5.6.8

2018-12-06  本文已影响0人  狗子家的铲屎官

一、下载安装

[root@localhost es]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
--2018-12-05 16:29:27--  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
正在解析主机 artifacts.elastic.co (artifacts.elastic.co)... 54.225.221.128, 107.21.127.184, 107.21.202.15, ...
正在连接 artifacts.elastic.co (artifacts.elastic.co)|54.225.221.128|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:33781024 (32M) [binary/octet-stream]
正在保存至: “elasticsearch-5.6.8.tar.gz”

100%[=================================================================>] 33,781,024  1.14MB/s 用时 30s    

2018-12-05 16:29:59 (1.06 MB/s) - 已保存 “elasticsearch-5.6.8.tar.gz” [33781024/33781024])
[root@localhost es]# tar -zxf elasticsearch-5.6.8.tar.gz
[root@localhost /]# ln -s /develop/es/elasticsearch-5.6.8/ /shortcut/es
[root@localhost /]# cd shortcut/
[root@localhost shortcut]# ll
总用量 0
lrwxrwxrwx. 1 root root 32 12月  5 16:56 es -> /develop/es/elasticsearch-5.6.8/
[root@localhost elasticsearch-5.6.8]# bin/elasticsearch
[2018-12-05T16:40:00,801][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.8.jar:5.6.8]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.8.jar:5.6.8]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70) ~[elasticsearch-5.6.8.jar:5.6.8]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.8.jar:5.6.8]
...

新建一个叫es用户,并为es设置密码

[root@localhost es]# useradd es
[root@localhost es]# passwd es

给es账号赋权

[root@localhost es]# chown -R es /develop/es/elasticsearch-5.6.8
[es@localhost es]$bin/elasticsearch
[2018-12-06T11:29:07,535][INFO ][o.e.n.Node               ] [] initializing ...
[2018-12-06T11:29:17,825][INFO ][o.e.h.n.Netty4HttpServerTransport] [5nNJgP4] 
publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
[2018-12-06T11:29:17,825][INFO ][o.e.n.Node               ] [5nNJgP4] started

这样子变启动成功了。 可以访问对应的127.0.0.1:9200 看到以下结果:

[root@localhost ~]# curl 127.0.0.1:9200
{
  "name" : "5nNJgP4",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "aek3sfxyRjeMfvgrK-jB0Q",
  "version" : {
    "number" : "5.6.8",
    "build_hash" : "688ecce",
    "build_date" : "2018-02-16T16:46:30.010Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

这时候es就算安装成功了。

[root@localhost es]# curl 192.168.24.152::9200
curl: (6) Could not resolve host: 192.168.24.152:; 未知的名称或服务

所以需要修改对应配置文件信息

  1. 修改elasticsearch.yml,设置host 跟port
[root@localhost ~]# vim /develop/es/elasticsearch-5.6.8/config/elasticsearch.yml 

# ---------------------------------- Network -----------------------------------
#
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 0.0.0.0
#
# Set a custom port for HTTP:
#
http.port: 9200
#
# For more information, consult the network module documentation.
#

  1. 这时候启动会遇到下面问题
[2018-12-06T14:01:48,138][INFO ][o.e.b.BootstrapChecks    ] [5nNJgP4] bound or publishing to a 
non-loopback address, enforcing bootstrap checks
ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] 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]

[1]max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

原因:无法创建本地文件问题,用户最大可创建文件数太小
解决方案:
切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vim /etc/security/limits.conf
添加如下内容:

* hard nofile 65536
* soft nofile 65536

备注: * 代表Linux所有用户名称(比如 es)保存、退出、重新登录才可生效

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

原因:最大虚拟内存太小
解决方案:切换到root用户下,修改配置文件sysctl.conf
vim /etc/sysctl.conf
添加下面配置

vm.max_map_count=655360

并执行

[root@localhost ~]# sysctl -p
vm.max_map_count = 655360

注意:这时候还不能访问需要关闭防火墙或者开放9200端口
centos7防火墙设置

[root@localhost es]# curl 192.168.24.152:9200
{
  "name" : "5nNJgP4",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "aek3sfxyRjeMfvgrK-jB0Q",
  "version" : {
    "number" : "5.6.8",
    "build_hash" : "688ecce",
    "build_date" : "2018-02-16T16:46:30.010Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

上一篇下一篇

猜你喜欢

热点阅读