前提:安装好JDK1.8以上版本,配置环境变量
一、创建用户
从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户。
- 创建 elasticsearch 用户组 esgroup
[root@localhost ~]# groupadd esgroup
- 创建用户 es 并设置密码
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es
- 用户es 添加到 es用户组
[root@localhost ~]# usermod -G esgroup es
- 设置sudo权限
[root@localhost ~]# visudo
在root ALL=(ALL) ALL 一行下面
添加es用户 如下:
es ALL=(ALL) ALL
- 保存成功后切换到es用户
[root@localhost ~]# su es
二、下载安装包
- 在/usr/elasticsearch 目录下 下载elasticsearch ,并解压 tar.gz。
[es@localhost elasticsearch ]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
[es@localhost elasticsearch ]$ tar -xvf elasticsearch-6.6.2.tar.gz
- 更改elasticsearch-6.6.2 文件夹以及内部文件的所属用户为es, 用户组组为esgroup ,-R表示逐级.
[es@localhost elasticsearch ]$ sudo chown -R es:esgroup elasticsearch-6.6.2
三、ElasticSearch配置
- 修改elasticsearch.yml
[es@localhost elasticsearch-6.3.2]$ vim config/elasticsearch.yml
修改内容(没有就添加):
cluster.name: my-application
node.name: node-1
#是否主节点
node.master: true
#是否存储数据
node.data: true
#ip必须配置为0.0.0.0,才能外网访问
network.host: 0.0.0.0
http.port: 9200
#因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,#所以在文件末尾添加以下两行
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
- 修改/etc/sysctl.conf
切换回root 用户 执行vim /etc/sysctl.conf,在文件最后面添加内容:
vm.max_map_count=262144保存退出后,使用sysctl -p 刷新生效。
[root@localhost ~]# vim /etc/sysctl.conf
[root@localhost ~]# sysctl -p
- 修改/etc/security/limits.conf
vim /etc/security/limits.conf
文件末尾添加如下4行
*hard nofile 65536
*soft nofile 65536
*soft nproc 2048
*hard nproc 4096
保存退出后重新登录生效(记得重新登录)。
- 修改90-nproc.conf文件
vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
*soft nproc 1024
#修改为
*soft nproc 4096
四、启动 elasticsearch
完成上面配置修改后,切换到es 用户,目录切换到 elasticsearch 安装目录下执行
[es@localhost bin]$ sh elasticsearch -d
-d表示后台启动。启动时,如果报 Permission denied异常,说明没有权限,执行允许文件访问授权命令。
[es@localhost es]sudo chmod -R 777 es
启动成功后,在浏览器输入http://ip:9200/?pretty 如果有信息说明成功!外网访问需要开放9200端口号。
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "kdDG6aDKQ5SkjJObWWs9yQ",
"version" : {
"number" : "6.6.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "3bd3e59",
"build_date" : "2019-03-06T15:16:26.864148Z",
"build_snapshot" : false,
"lucene_version" : "7.6.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}