ElasticSearch教程——安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gwd1154978352/article/details/82666891

基础环境

1.系统版本:Centos 7.4

2.jdk版本:java version "1.8.0_181"(该版本的elasticsearch必须使用jdk8及以上版本)

3.安装版本为ElasticSearch6.4.0(之后所有博客基本上都建立在此版本基础之上)

一.下载

下载地址:Elasticsearch 6.4.0 August 23, 2018

二.解压并安装

(1)将下载的文件放在服务器如下目录:/usr/elasticsearch/

(2)解压

tar -zxvf elasticsearch-6.4.0.tar.gz

(3)创建日志文件夹

# mkdir -p /data/logs/elasticsearch 
# mkdir -p /data/elasticsearch/{data,work,plugins,scripts} 

(4)创建一个非root用户

ElasticSearch有个比较特殊的地方就是不能用root权限来运行,所以我们这边需要新建一个用户以及赋予对应权限。

a.新建一个elsearch用户组

groupadd elsearch

b.新建用户elsearch,并让他加入elsearch组

useradd elsearch -g elsearch -p elsearch

c.赋予新用户对elasticsearch-6.4.0和/data/*的操作权限

chown -R elsearch:elsearch elasticsearch-6.4.0
chown -R elsearch:elsearch /data/*

d.切换用户

su elsearch

(5)修改配置文件(暂时可以不修改)

因为上面准备独立出日志等相关数据了,所以这边需要修改配置文件,添加如下配置:

network.host: 0.0.0.0  //监听访问地址为任意网段,也可以按自己的要求要设置对应的网段

path.data: /data/elasticsearch/data
path.logs: /data/logs/elasticsearch

#如果没有对应的插件,那么下面两个就不用配置,否则会报错
#path.plugins: /data/elasticsearch/plugins
#path.scripts: /data/elasticsearch/scripts

也可以通过如下配置来修改端口:

http.port: 9200

(6)启动任务

cd /usr/elasticsearch/elasticsearch-6.4.0/bin/

sh elasticsearch 或者用sh elasticsearch -d来后台启动

(7)验证是否运行

下面两者需同时满足

a. 输入如下脚本,有对应服务出现

ps -ef|grep elasticsearch 

b.输入http//:ip:9200出现下图所示

{
  "name" : "F6U_sFR",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "dTfp6ypnTQW-45WbwqSGTQ",
  "version" : {
    "number" : "6.4.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "595516e",
    "build_date" : "2018-08-17T23:18:47.308994Z",
    "build_snapshot" : false,
    "lucene_version" : "7.4.0",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

三.关闭elasticsearch

需要对ES节点进行重新启动或正常关机的时候,有三种方法可以关闭ES:

1.在控制台中,使用CTRL+C组合键.
2.通过发送TERM信号终止服务器进程.
3.使用REST APIcurl -XPOST 'http://localhost:9200/_shutdown'

四.可能异常

1.

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.0.jar:6.4.0]
    at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.0.jar:6.4.0]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.0.jar:6.4.0]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.0.jar:6.4.0]
    ... 6 more

解决方案:按照上面所述,新增用户,不要用root用户启动服务即可

2.

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

解决方案:

a.切换到root用户,修改sysctl.conf配置文件

vi /etc/sysctl.conf 

b.添加如下配置文件

vm.max_map_count=655360

c.执行如下脚本后,重启elasticsearch即可

sysctl -p

猜你喜欢

转载自blog.csdn.net/gwd1154978352/article/details/82666891