重要说明:
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_nodes 和 http.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).堆大小:
本文详细介绍如何在CentOS7上部署和配置Elasticsearch 7.0.1版本,包括环境准备、下载安装、配置修改、外网访问设置及重要路径调整,确保集群稳定运行。
841

被折叠的 条评论
为什么被折叠?



