1.在Centos7中安装elasticsearch7.0.1(2019-05-10)

本文详细介绍如何在CentOS7上部署和配置Elasticsearch 7.0.1版本,包括环境准备、下载安装、配置修改、外网访问设置及重要路径调整,确保集群稳定运行。

重要说明:

1).我们安装的 elasticsearch 版本是 7.0.1 ;

2).我们把 elasticsearch 安装到 /home/es/ 目录,即ES_HOME=/home/es/elasticsearch-7.0.1

3).我们把 elasticsearch 的配置文件,数据和日志安装到 /home/es/elasticsearch 目录 ;

4).我们服务器的IP为: 192.168.75.206  

 

 

1.必须要有jre支持,但是该elasticsearch版本里面已经自带JDK:

elasticsearch 是用Java实现的,跑 elasticsearch 必须要有jre支持,所以必须先安装jre

可以参考 http://blog.java1234.com/blog/articles/307.html

一般Centos7系统自带(elasticsearch7.0.1需要jdk版本1.8以上,但是elasticsearch7.0.1已经自带jdk了):

[root@localhost ~]# java -version

 

 

2.下载elasticsearch:

/home/data/ 目录下下载:

[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-linux-x86_64.tar.gz

 

 

3.安装和配置elasticsearch:

1).解压:

[root@bogon ~]# cd /home/data/

[root@bogon data]# tar -xzf elasticsearch-7.0.1-linux-x86_64.tar.gz

新建目录,剪切文件到新目录(我们把 elasticsearch 安装到 /home/es/ 目录):

[root@bogon ~]# mkdir /home/es/

[root@bogon ~]# mv /home/data/elasticsearch-7.0.1 /home/es/

[root@bogon ~]# mkdir /home/es/elasticsearch

 

2).启动 elasticsearch:

[root@bogon ~]# sh /home/es/elasticsearch-7.0.1/bin/elasticsearch

[root@bogon ~]# /home/es/elasticsearch-7.0.1/jdk/bin/java -version #可以查看jdk版本

 

如果报错:

[2019-05-10T19:43:10,628][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

... more

意思是不能用root用户来启动,我们需要新建一个用户来启动。

 

3).新建 elastic 用户,并且把目录权限赋予给 elastic,再启动

[root@bogon ~]# useradd elastic

[root@bogon ~]# chown -R elastic:elastic /home/es/

[root@bogon ~]# su elastic

[elastic@bogon root]$ sh /home/es/elasticsearch-7.0.1/bin/elasticsearch

 

4).检查是否启动成功:

[elastic@bogon root]$ ps -ef | grep elasticsearch

 

5).验证下服务是否正常运行:

[elastic@bogon root]$ curl http://localhost:9200

出来这个说明配置OK(千万不要用IP访问,此时IP还无法访问)。

 

 

6).目录结构:

目录

子目录

描述

bin

 

启动文件

config

log4j2.properties

日志配置文件

jvm.options

java虚拟机的配置

elasticsearch.yml

es的配置文件

data

 

索引数据目录

lib

 

相关类库Jar包

logs

 

日志目录

modules

 

功能模块

plugins

 

插件

 

 

 

4.允许外网连接(IP访问):

前面我们配置的仅仅是本机使用,但是我们比如集群以及其他机器连接 ,则需要配置下。

1).可以修改 /home/es/elasticsearch-7.0.1/config/elasticsearch.yml 文件

network.host、discovery.seed_hosts、cluster.initial_master_nodeshttp.port 前面的备注去掉,然后 Host 改成你的局域网IP即可。

修改后保存退出。

 

2).把防火墙关了(root用户):

[elastic@bogon root]# systemctl stop firewalld.service

[elastic@bogon root]# systemctl disable firewalld.service #禁止防火墙开机启动

 

3).重启下elasticsearch服务:

[root@bogon root]# ps -ef | grep elasticsearch #找到进程号

[root@bogon root]# kill -SIGTERM 进程号

[root@bogon root]# su elastic

[elastic@bogon root]$ sh /home/es/elasticsearch-7.0.1/bin/elasticsearch

 

注意:如果出现如下错误(默认不配置network.host的时候是不会报错的)

ERROR: [3] bootstrap checks failed

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

[2]: max number of threads [3821] for user [elastic] is too low, increase to at least [4096]

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

 

解决:必须切换到root用户,然后强制修改文件。

[root@bogon ~]# su root

①.针对问题1:修改 /etc/security/limits.conf 文件,添加或修改如下行:

* soft nofile 65536

* hard nofile 65536

 

②.针对问题2:修改 /etc/security/limits.d/20-nproc.conff 文件,添加或修改如下行:

* soft nproc 4096

* hard nproc 4096

 

③.针对问题3:修改 /etc/sysctl.conf 文件,添加或修改如下行:

vm.max_map_count=2621441

 

让配置生效:

[root@bogon root]# sysctl -p /etc/sysctl.conf

 

4).切换到 elastic 用户,再次启动:

[root@bogon ~]# su elastic

[elastic@bogon root]$ sh /home/es/elasticsearch-7.0.1/bin/elasticsearch

出来一大串 info 说明成功了,但是这种方式是前台运行,不方便我们其他的操作。我们加下 -d 后台运行。先ctrl+c退出执行:

[elastic@bogon root]$ sh /home/es/elasticsearch-7.0.1/bin/elasticsearch -d

 

5).用浏览器验证: http://192.168.75.206:9200/

出现以上信息说明配置完成。

 

 

5.修改 elasticsearch 路径(真实环境这步很重要):

虽然上面已经可以正常使用 elasticsearch 服务了, 但是我们建议更改 elasticsearch 的 config 目录,data 目录和 logs 目录的默认位置,以便以后升级不删除重要数据(例如我们将这些配置安装到 /home/es/elasticsearch 目录下)。

1).停止 elasticsearch:

[root@bogon root]# ps -ef | grep elasticsearch #找到进程号

[root@bogon root]# kill -SIGTERM 进程号

 

2).将 配置拷贝到 /home/es/elasticsearch 目录下(一定要用 elastic 用户,不然会有权限问题

[elastic@bogon root]$ su elastic

[elastic@bogon root]$ cp -R /home/es/elasticsearch-7.0.1/config /home/es/elasticsearch/config

 

3).修改 /home/es/elasticsearch/config/elasticsearch.yml 文件

path.data: /home/es/elasticsearch/data

path.logs: /home/es/elasticsearch/logs

 

4).删除原来的配置和数据目录,清空原来日志目录(该目录还是需要保留):

[elastic@bogon root]$ rm -rf /home/es/elasticsearch-7.0.1/config /home/es/elasticsearch-7.0.1/data

5).重启:

[elastic@bogon root]$ ES_PATH_CONF=/home/es/elasticsearch/config sh /home/es/elasticsearch-7.0.1/bin/elasticsearch -d

注:记得去相应目录去查看一下是否已经生成了相应文件。 /home/es/elasticsearch-7.0.1/logs目录仍需要保留。

 

 

6.Elasticsearch的配置基本不用修改,但是下面配置很重要:

1).路径设置(建议更改数据路径和日志文件路径,以便以后升级不删除重要数据):

path.data: /home/es/elasticsearch/data

path.logs: /home/es/elasticsearch/logs

ES_PATH_CONF:/home/es/elasticsearch/config

2).群集名称(不同的集群应该使用不同的名称):

cluster.name: logging-prod

3).节点名称(默认为Elasticsearch启动时机器具有的主机名):

node.name: node1

4).网络主机(可以使用域名,IP,或者IP+端口配置):

network.host: 192.168.75.206

5).集群发现设置:

discovery.seed_hosts: ["192.168.75.206"]

cluster.initial_master_nodes: ["192.168.75.206"]

6).堆大小:

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值