JDK: 1.8
操作系统: CentOS Linux release 7.4.1708 (Core)
Elasticsearch5.6.16官网地址
注:选择其他版本的elasticsearch时要注意jdk版本,不同版本的elasticsearch对jdk的版本要求不同
Elasticsearch启动时会报如下错误,因此需提前修改系统配置,避免出现下述问题:
1、max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
使用root用户修改/etc/security/limits.conf
,在末尾追加2行:
* soft nofile 65536
* hard nofile 65536
3、max number of threads [3818] for user [es] is too low, increase to at least [4096]
使用root用户修改/etc/security/limits.conf
,在末尾追加2行:
* soft nproc 4096
* hard nproc 4096
3、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
使用root用户修改/etc/sysctl.conf
,在末尾追加配置
vm.max_map_count=262144
然后执行sysctl -p
3、elasticsearch因处于安全设计,不允许使用root用户启动,因此需提前创建一个用户
# 创建用户组
$ groupadd es
# 创建用户并添加至用户组
$ useradd es -g es
# 更改用户密码
$ passwd es
以/home/install_package
为例
将elasticsearch-5.6.16.tar.gz上传到/home/install_package目录下,并解压。
$ mkdir /home/install_package/es/data
$ mkdir /home/install_package/es/logs
修改elasticsearch-5.6.16/conf
下的jvm.options
和elasticsearch.yml
配置文件
(1)jvm.options
-Xms2g # 不要超过30g,根据服务器内存适当设置
-Xmx2g # 不要超过30g,根据服务器内存适当设置
(2)elasticsearch.yml
cluster.name: es-cluster //自定义集群名称,此名称各节点相同
node.name: node-136 //当前节点名称,同一个集群中不能重复
path.data: /home/install_package/es/data //数据存储路径,目录必须已存在
path.logs: /home/install_package/es/logs //日志存储路径,目录必须已存在
network.host: 192.168.101.136 //当前节点的IP地址
http.port: 9200 //访问端口号
discovery.zen.ping.unicast.hosts: ["192.168.101.136","192.168.101.146"] //集群节点IP
discovery.zen.minimum_master_nodes: 2 //集群节点IP数量
$ chown -R es:es /home/install_package/elasticsearch-5.6.16
$ chown -R es:es /home/install_package/es
# 切换到es用户
$ su es
# 启动elasticsearch并使其在后台运行
$ sh /home/install_package/elasticsearch-5.6.16/bin/elasticsearch -d
$ curl http://192.168.101.136:9200
{
"name" : "node-136",
"cluster_name" : "es-cluster",
"cluster_uuid" : "_na_",
"version" : {
"number" : "5.6.16",
"build_hash" : "3a740d1",
"build_date" : "2019-03-13T15:33:36.565Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}
说明启动成功