Centos7安装elasticsearch6.3.0
Centos7安装elasticsearch6.3.0
单机版
-
查看java 版本
[root@localhost ~]# java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
-
安装java
待完成
-
下载es6.8
本地下载上传服务器安装: 下载地址:https://www.elastic.co/downloads/elasticsearch 本问选择的是6.3.0版本的Elasticsearch 服务器下载: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.tar.gz
-
解压
#本文是将elasticsearch-6.3.0.tar.gz上传到服务器目录/home/upload [root@localhost ~]cd /home/upload 解压 [root@localhost upload]# tar -xzvf elasticsearch-6.3.0.tar.gz -C /home/soft/ elasticsearch-6.3.0/ elasticsearch-6.3.0/lib/ elasticsearch-6.3.0/lib/elasticsearch-6.3.0.jar elasticsearch-6.3.0/lib/elasticsearch-x-content-6.3.0.jar elasticsearch-6.3.0/lib/elasticsearch-cli-6.3.0.jar elasticsearch-6.3.0/lib/elasticsearch-core-6.3.0.jar elasticsearch-6.3.0/lib/lucene-core-7.3.1.jar elasticsearch-6.3.0/lib/lucene-analyzers-common-7.3.1.jar elasticsearch-6.3.0/lib/lucene-backward-codecs-7.3.1.jar elasticsearch-6.3.0/lib/lucene-grouping-7.3.1.jar elasticsearch-6.3.0/lib/lucene-highlighter-7.3.1.jar ..........
-
创建Elasticsearch用户
==es规定root用户不能启动es==
#添加用户esuser [root@localhost elasticsearch-6.3.0]# adduser esuser #设置密码 [root@localhost elasticsearch-6.3.0]#passwd [用户名] #授权 [root@localhost elasticsearch-6.3.0]chown -R esuser:esuser elasticsearch-6.3.0
-
启动
到此为止即可启动,建议先配置在启动
[root@localhost elasticsearch-6.3.0]cd /bin #直接启动 [root@localhost bin]./elasticsearch #后台启动 [root@localhost bin]./elasticsearch -d
-
配置
-
配置es的数据,日志目录
es的默认数据存储目录为:path.data:/path/to/data 日志存储目录为:path.logs: /path/to/logs
建议修改为自己的目录
# 创建数据,日志保存目录,并授权esuser 用户 [root@root home]# mkdir -p esdata/data
[root@root home]# mkdir -p esdata/log
[root@root home]# chown -R esuser:esuser esdata修改配置 找到path.logs,path.data,添加目录路径
[root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/elasticsearch.yml
======================== Elasticsearch Configuration =========================
...........
-
#去掉 path.logs,path.data 前的注释,建议在下边新加;
#path.data:/path/to/data
path.data:/home/soft/esdata/data
#path.logs:/path/to/logs
path.logs:/home/soft/esdata/logs
~~~
* 开放端口
> root用户下操作
>
> 1.关闭防火墙
>
> 2.开放端口:默认访问端口9200,es内部节点通讯端口9300(本文未用)
>
>
~~~linux
firewall-cmd --add-port=9200/tcp --permanent #1. 开放端口命令
firewall-cmd --reload #2.重载入防火墙
* 开启远程访问
> es默认只允许本机访问,需配置ip才可远程访问:
>
>
~~~linux
[root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/elasticsearch.yml
# 去掉 network.host 前边的注释,将它的值改成0.0.0.0,代表任何ip可访问
# network.host: 0.0.0.0
-
修改es的安装内存[^非必需]
es默认的安装内存配置是一G,为防止内存溢出造成错误,配置为4G
[root@localhost soft]# vi /home/soft/elasticsearch-6.3.0/config/jvm.options -Xms1g -Xmx1g 改为: -Xms4g -Xmx4g
-
其他配置
启动若出现以下出现问题:
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]
elasticsearch用户拥有的内存权限太小,至少需要262144;
==vm.max_map_count==:限制一个进程可以拥有的VMA(虚拟内存区域)的数量
#解决[1] #需在root用户下操作 [root@localhost bin]# vi /etc/security/limits.conf (文件后添加以下配置 esuser替换为你的es用户) esuser hard nofile 65536 esuser soft nofile 65536 esuser soft memlock unlimited esuser hard memlock unlimited #解决[2] [root@localhost bin]# vi /etc/sysctl.conf (文件后添加以下配置) vm.max_map_count=262144 [root@localhost bin]# sysctl -p vm.max_map_count = 262144
-
最终启动验证
[esuser@localhost bin]$ ./elasticsearch -d [esuser@localhost bin]$ curl -XGET http://127.0.0.1:9200/?pretty { "name" : "XxZX8Bu", -------------------node.name节点名 "cluster_name" : "elasticsearch", -------------------cluster.name集群名 "cluster_uuid" : "Vt_pnS64RfKGr9YXXIT_4A", -------------------集群id "version" : { "number" : "6.3.0", -------------------es的版本好 "build_flavor" : "default", ------------------- "build_type" : "tar", ------------------- "build_hash" : "424e937", ------------------- "build_date" : "2018-06-11T23:38:03.357887Z", -------------------构建时间 "build_snapshot" : false, -------------------生成快照 "lucene_version" : "7.3.1", -------------------底层lucene版本 "minimum_wire_compatibility_version" : "5.6.0", ------------------- "minimum_index_compatibility_version" : "5.0.0" -------------------最小索引兼容性版本 }, "tagline" : "You Know, for Search" -------------------标语 } [esuser@localhost bin]$
-
附 配置(config/elasticsearch.yml)文件属性
属性名 说明 cluster.name 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。 node.name 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理 path.conf 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开 path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹 path.plugins 设置插件的存放路径,默认是es根目录下的plugins文件夹 bootstrap.memory_lock 设置为true可以锁住ES使用的内存,避免内存进行swap network.host 设置bind_host和publish_host,设置为0.0.0.0允许外网访问<br />官方建议生产环境设置为true http.port 设置对外服务的http端口,默认为9200。 transport.tcp.port 集群结点之间通信端口 discovery.zen.ping.timeout 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些 discovery.zen.minimum_master_nodes 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2<br />单节点设置为1 gateway.recover_after_nodes: 1 # 集群节点数量