ElasticSearch学习(一)Centos7中安装ElasticSearch

说明:本文elasticsearch安装在linux系统中,需要懂一些linux操作命令

1、官网下载elasticsearch的tar格式

这里写图片描述

其他版本选择past releases,本文使用的是elasticsearch-5.5.2版本

2、将下载好的elasticsearch-5.5.2.tar.gz文件通过CRT上传到linux

这里写图片描述

3、解压elasticsearch-5.5.2.tar.gz,并移动到相关目录

解压文件
tar -zxvf elasticsearch-5.5.2.tar.gz
这里写图片描述
解压后的文件
这里写图片描述
创建 elasticsearch文件夹
mkdir /usr/local/elasticsearch
这里写图片描述
将解压后的文件移动到elasticsearch文件夹
mv elasticsearch-5.5.2 /usr/local/elasticsearch
移动后的目录
这里写图片描述

4、启动elasticsearch

运行命令
sh /usr/local/elasticsearch/elasticsearch-5.5.2/bin/elasticsearch
出现报错
这里写图片描述
具体如下:

[2018-08-21T10:24:14,626][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: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: java.lang.RuntimeException: can not run elasticsearch as root
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.5.2.jar:5.5.2]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) ~[elasticsearch-5.5.2.jar:5.5.2]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) ~[elasticsearch-5.5.2.jar:5.5.2]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.5.2.jar:5.5.2]
    ... 6 more

有用户安全级别问题can not run elasticsearch as root不能使用root用户
因此,建一个用户,并赋予权限

创建es用户
useradd es
这里写图片描述
赋予es用户全部权限
chown -R es:es /usr/local/elasticsearch/elasticsearch-5.5.2/
这里写图片描述
切换root用户为es用户
这里写图片描述
启动elasticsearch
sh /usr/local/elasticsearch/elasticsearch-5.5.2/bin/elasticsearch
出现下面内容,启动成功
这里写图片描述

5、测试连接

Ctrl+C退出,再运行下面命令使用后台启动
sh /usr/local/elasticsearch/elasticsearch-5.5.2/bin/elasticsearch -d
这里写图片描述
输入下面命令进行测试
curl http://localhost:9200
这里写图片描述
出现如下json串,则测试成功
这里写图片描述

{
  "name" : "z5HJaln",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "4eptD2RnQPyRZ7mFyqsbmA",
  "version" : {
"number" : "5.5.2",
"build_hash" : "b2f0c09",
"build_date" : "2017-08-14T12:33:14.154Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
  },
  "tagline" : "You Know, for Search"
}
6、配置外网连接

此时,外部浏览器还不能进行访问,需要进行配置
先进入config目录
cd /usr/local/elasticsearch/elasticsearch-5.5.2/config
这里写图片描述
编辑elasticsearch.yml文件
这里写图片描述
修改network.hostport为本机对应网络,其他不需要改动

network.host: 10.22.3.49

http.port: 9200

这里写图片描述
重新启动,将已经运行的进程关掉
ps -ef | grep elasticsearch
这里写图片描述
kill -9 1531
这里写图片描述
注意:此时启动,可能会报错
运行命令
sh /usr/local/elasticsearch/elasticsearch-5.5.2/bin/elasticsearch
报错如下
这里写图片描述

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]

解决办法:添加配置
先切换回root用户
su root
这里写图片描述
针对max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]问题
修改/etc/security/limits.conf文件,添加或修改如下内容
* hard nofile 65536

  • soft nofile 65536
    这里写图片描述
    这里写图片描述

针对max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]问题
修改/etc/sysctl.conf文件,添加“vm.max_map_count”设置 永久改变(sudo sysctl -p /etc/sysctl.conf生效)

vi /etc/sysctl.conf
这里写图片描述
添加配置vm.max_map_count=2621441即可
这里写图片描述
执行
sudo sysctl -p /etc/sysctl.conf
让配置永久生效
这里写图片描述

切换回es用户
su es
这里写图片描述
重新启动
sh /usr/local/elasticsearch/elasticsearch-5.5.2/bin/elasticsearch
程序正常启动,没有报错
这里写图片描述
此时输入命令
curl http://10.22.3.49:9200
正常返回json
这里写图片描述
浏览器访问http://10.22.3.49:9200/
这里写图片描述

外网连接配置成功

猜你喜欢

转载自blog.csdn.net/wsjzzcbq/article/details/81907797