下载
下载 7.9.3
版本,no jdk(用我们自己的jdk)
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-no-jdk-7-9-3
上传
登录 hadoop2
上传到 /program/
目录
解压
tar -zxvf elasticsearch-7.9.3-no-jdk-linux-x86_64.tar.gz --no-same-owner
创建用户
因为安全问题,Elasticsearch 不允许 root
用户直接运行
在 root 用户下创建新用户
新增 es 用户:
useradd es
为 es 用户设置密码:
passwd es
输入:es
(密码不要设置复杂,容易忘记)
如果创建用户错了,可以删除用户
userdel -r es
设置文件夹所有者
chown -R es:es /program/elasticsearch-7.9.3
修改配置文件
修改 elasticsearch.yml
修改 /program/elasticsearch-7.9.3/config/elasticsearch.yml
文件
该配置文件,有下面的配置,只是注释掉了
为了便于修改,在文件末尾加入下面配置:
# 集群名称
cluster.name: elasticsearch
# 节点名称
node.name: node-1
# ip
network.host: 0.0.0.0
# port
http.port: 9200
# 把当前节点作为 master 主节点
cluster.initial_master_nodes: ["node-1"]
设置内存
es 默认占用 1G
,开发时占用内存太大
vim /program/elasticsearch-7.9.3/config/jvm.options
找到下面配置:
-Xms1g
-Xmx1g
修改为:
-Xms512m
-Xmx512m
修改 linux 系统配置文件
es 创建的文件比较多,打开的文件也比较多,修改 linux 的限制
修改 limits.conf
修改 每个进程可以打开的文件数的限制
vim /etc/security/limits.conf
在文件末尾中增加下面内容:
es soft nofile 65536
es hard nofile 65536
解释:
es
:表示es
用户
提示:*
表示所有用户
soft
:软限制,当前系统生效的设置值,小于等于hard
限制hard
:硬限制,系统中所能设定的最大值
提示:-
表示同时设置了soft
和hard
的值
nofile
:用户打开文件的最大数量
修改 20-nproc.conf
20-nproc.conf
文件是配置 nproc
限制的,会覆盖 limits.conf
文件,所以这里也要修改
vim /etc/security/limits.d/20-nproc.conf
在文件末尾中增加下面内容:
es soft nofile 65536
es hard nofile 65536
* hard nproc 4096
解释:
es
:表示es
用户*
表示所有用户、所有用户组
soft
:软限制,当前系统生效的设置值,小于等于hard
限制hard
:硬限制,系统中所能设定的最大值
提示:-
表示同时设置了soft
和hard
的值
nofile
:用户打开文件的最大数量nproc
:用户创建进程的最大数量
立即生效
不需要重启系统,只需要重新登录 SSH 即可
切换用户:
su es
用 es 用户查看是否生效:
ulimit -a
显示如下:
open files (-n) 65536
max user processes (-u) 4096
数字已经改变,说明生效了
修改 sysctl.conf
vim /etc/sysctl.conf
在文件中增加下面内容:
vm.max_map_count=655360
解释:一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
立即生效
sysctl -p
启动
cd /program/elasticsearch-7.9.3/bin/
切换 es 用户
注意:不能用 root
用户启动es
su es
前台启动
./elasticsearch
警告
启动时显示下面警告:
future versions of Elasticsearch will require Java 11; your Java version from [/program/jdk1.8.0_202/jre] does not meet this requirement
future versions of Elasticsearch will require Java 11; your Java version from [/program/jdk1.8.0_202/jre] does not meet this requirement
es7
用 jdk11
,在本机中配置的 jdk8
,所以提示警告信息,一般不影响使用
后台启动
./elasticsearch -d
退出 es 用户:
exit
停止
es 没有专门的停止命令
查看 elastic
进程 id
jps
执行结果:
2896 Elasticsearch
杀死进程:
kill -9 2896(上面的进程id)
测试
访问 http://hadoop2:9200/ ,看到下面内容,说明启动成功:
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "eUk9pWliR4y7miJChoYXoQ",
"version" : {
"number" : "7.9.3",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
"build_date" : "2020-10-16T10:36:16.141335Z",
"build_snapshot" : false,
"lucene_version" : "8.6.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
解释:
- name:节点名
- cluster_name:集群名字(集群环境中)
- cluster_uuid:节点唯一标识uuid(集群环境中)
- number:版本号
- build_type:部署方式
- lucene_version:版本号