三人行必有我师

ElasticSearch5.5.0安装

Elasticsearch | 作者 yzp | 发布于2017年08月30日 | | 阅读数:5832

一、★★★★★★★单机版安装及环境配置★★★★★★★
安装环境 CentOS release 6.7 (Final)
1、因Elasticsearch是基于Java写的,所以它的运行环境中需要java的支持,在Linux下执行命令:
java -version,检查Jar包是否安装
安装java版本至少是1.8以上

2、首先准备下载Elasticsearch5.5.0 安装包
wget https://artifacts.elastic.co/d ... earch

3、下载到/usr/openv 目录下,解压
tar -zxvf  elasticsearch-5.5.0.tar.gz

4、因为Elasticsearch5.0之后,不能使用root账户启动,我们先创建一个esuser组和账户
useradd  esuser -g esuser -p esuser

5.更改文件夹权限
chown -R esuser:esuser /usr/openv/elasticsearch-5.5.0

6、启动elasticsearch:
/usr/openv/elasticsearch-5.5.0/bin
su esuser
./elasticsearch    (前台启动)
这时候我们看见下面的提示,说明就成功了:
    1.    [elasticsearch@vmlnx-sma bin]$ ./elasticsearch  
2.    [2017-03-02T21:43:21,185][INFO ][o.e.n.Node               ] [] initializing ...  
3.    [2017-03-02T21:43:21,264][INFO ][o.e.e.NodeEnvironment    ] [uY3prpy] using [1] data paths, mounts [[/ (/dev/mapper/VolGroup-lv_root)]], net usable_space [43.5gb], net total_space [54.6gb], spins? [possibly], types [ext4]  
4.    [2017-03-02T21:43:21,265][INFO ][o.e.e.NodeEnvironment    ] [uY3prpy] heap size [1.9gb], compressed ordinary object pointers [true]  
5.    [2017-03-02T21:43:21,268][INFO ][o.e.n.Node               ] node name [uY3prpy] derived from node ID [uY3prpyqTHim5twauiVWhQ]; set [node.name] to override  
6.    [2017-03-02T21:43:21,271][INFO ][o.e.n.Node               ] version[5.2.2], pid[5602], build[f9d9b74/2017-02-24T17:26:45.835Z], OS[Linux/3.10.5-3.el6.x86_64/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/1.8.0_121/25.121-b13]  
7.    [2017-03-02T21:43:22,226][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [aggs-matrix-stats]  
8.    [2017-03-02T21:43:22,226][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [ingest-common]  
9.    [2017-03-02T21:43:22,226][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [lang-expression]  
10.    [2017-03-02T21:43:22,227][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [lang-groovy]  
11.    [2017-03-02T21:43:22,227][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [lang-mustache]  
12.    [2017-03-02T21:43:22,227][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [lang-painless]  
13.    [2017-03-02T21:43:22,228][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [percolator]  
14.    [2017-03-02T21:43:22,228][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [reindex]  
15.    [2017-03-02T21:43:22,228][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [transport-netty3]  
16.    [2017-03-02T21:43:22,229][INFO ][o.e.p.PluginsService     ] [uY3prpy] loaded module [transport-netty4]  
17.    [2017-03-02T21:43:22,230][INFO ][o.e.p.PluginsService     ] [uY3prpy] no plugins loaded  
18.    [2017-03-02T21:43:24,689][INFO ][o.e.n.Node               ] initialized  
19.    [2017-03-02T21:43:24,689][INFO ][o.e.n.Node               ] [uY3prpy] starting ...  
20.    [2017-03-02T21:43:24,929][INFO ][o.e.t.TransportService   ] [uY3prpy] publish_address {10.245.250.65:9300}, bound_addresses {10.245.250.65:9300}  
21.    [2017-03-02T21:43:24,948][INFO ][o.e.b.BootstrapChecks    ] [uY3prpy] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks  
22.    [2017-03-02T21:43:28,010][INFO ][o.e.c.s.ClusterService   ] [uY3prpy] new_master {uY3prpy}{uY3prpyqTHim5twauiVWhQ}{AqALBH68RCucWcPmHCE6dw}{10.245.250.65}{10.245.250.65:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)  
23.    [2017-03-02T21:43:28,034][INFO ][o.e.h.HttpServer         ] [uY3prpy] publish_address {10.245.250.65:9200}, bound_addresses {10.245.250.65:9200}  
24.    [2017-03-02T21:43:28,034][INFO ][o.e.n.Node               ] [uY3prpy] started  
25.    [2017-03-02T21:43:28,061][INFO ][o.e.g.GatewayService     ] [uY3prpy] recovered [0] indices into cluster_state  

./elasticsearch -d (后台启动)

执行 curl http://localhost:9200

打开另一个终端进行测试:
curl 'http://localhost:9200/?pretty'

你能看到以下返回信息:

{
   "status": 200,
   "name": "Shrunken Bones",
   "version": {
      "number": "1.4.0",
      "lucene_version": "4.10"
   },
   "tagline": "You Know, for Search"
}

说明安装成功。
但是我们希望能够使用ip访问,那么还需要设置相关内容
跳转到Elasticsearch的config配置文件下,使用vim打开elasticsearch.yml,找到里面的"network.host",将其改为本机IP,保存。

cd elasticsearch/config/

vim elasticsearch.yml

重启ElasticSearch,然后使用http://192.168.37.137:9200/访问。

二、★★★★★★★常见错误★★★★★★★

问题一:警告提示
[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: 
java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled in
at org.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0]
at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
报了一大串错误,其实只是一个警告。
解决:使用心得linux版本,就不会出现此类问题了。
 
问题二:ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]
解决:切换到root用户,编辑limits.conf 添加类似如下内容
vi /etc/security/limits.conf 
添加如下内容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
 
问题三:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf 
修改如下内容:
* soft nproc 1024
#修改为
* soft nproc 2048
 
问题四:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf 
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。

三、★★★★★★★★★★★★★★★★★★★
查看集群健康状态:curl -XGET 'http://localhost:9200/_cluster/health?pretty=true' 
                  
查看本地节点信息:curl -XGET http://localhost:9200/

其它一些命令:

查看集群状态:curl -XGET http://localhost:9200/_cat/health?v
              curl -XGET 'http://localhost:9200/_cluster/state?pretty'
              curl -XGET 'http://localhost:9200/_cluster/stats?human&pretty'

查看集群节点:curl -XGET http://localhost:9200/_cat/nodes?v
              curl -XGET 'http://localhost:9200/_nodes/stats?pretty'
              curl -XGET 'http://localhost:9200/_nodes/stats/os,process?pretty'

查询索引列表:curl -XGET http://localhost:9200/_cat/indices?v

创建索引:curl -XPUT http://localhost:9200/customer?pretty

查询索引:curl -XGET http://localhost:9200/customer/external/1?pretty

删除索引:curl -XDELETE http://localhost:9200/customer?pretty

停服与重启

停止ES服务器
如果是前台启动,直接Ctrl+Z或者直接关掉命令行窗口,则服务器立即停止。

如果是通过后台启动的ES服务,则需要用如下命令停止服务器:

也可以直接在Window系统的服务列表中找到安装的服务,然后右键停止。

另外,还可以通过curl工具来关掉整个集群或者集群中的指定节点,命令如下:

关掉集群:curl -XPOST http://localhost:9200/-cluster/nodes/_shutdown

关掉指定的节点,节点标识符为jMJhGirhSRa9Iw2fQtjJ5A:curl -XPOST http://localhost:9200/_cluster ... tdown

重启ES服务器

如果是想再次重启已经启动的ES服务,可以在Window系统的服务列表中找到安装的服务,然后右键重新启动即可。






























[尊重社区原创,转载请保留或注明出处]
本文地址:http://elasticsearch.cn/article/249


1 个评论

楼主你好,我参照这你的方法把elasticsearch.yml里的network.host改为了本机ip但是重启es后报错,信息如下
org.elasticsearch.bootstrap.StartupException: BindTransportException[Failed to bind to [9300-9400]]; nested: BindException[无法指定被请求的地址];
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.5.2.jar:5.5.2]
Caused by: org.elasticsearch.transport.BindTransportException: Failed to bind to [9300-9400]
at org.elasticsearch.transport.TcpTransport.bindToPort(TcpTransport.java:793) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.transport.TcpTransport.bindServer(TcpTransport.java:758) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.transport.netty4.Netty4Transport.doStart(Netty4Transport.java:173) ~[?:?]
我的配置文件中的内容都是注释过的我自己在里边加了network.host,是不是我加的有问题,还是我本机ip填的有问题,我IP取得是inet 后边的,我用的lnuix版本是 CentOS 7,es版本是5.5.2

要回复文章请先登录注册