1.环境准备:
centos7
java 1.8
elastic 7.13.1
JDK未安装的点击:liunx下载安装JDK1.8教程
2.下载Elasticsearch
点击下载Elsaticsearch 7.13.1
3.上传elasticsearch-7.13.1-linux-x86_64.tar.gz到 /usr/local/es
tar -zxvf elasticsearch-7.13.1-linux-x86_64.tar.gz
4.进入/usr/es/elasticsearch-7.13.1/config 文件编辑 elasticsearch.yml
vi elasticsearch.yml
# Use a descriptive name for the node:开放节点名称
node.name: node-1
# finds starting at 9200. Set a specific HTTP port here:开放端口号
http.port: 9200
# The default list of hosts is ["127.0.0.1", "[::1]"] 配置ES服务器地址
discovery.seed_hosts: ["192.168.244.129"]
# Bootstrap the cluster using an initial set of master-eligible nodes:配置当前节点名称
cluster.initial_master_nodes: ["node-1"]
5.修改es启动时的虚拟内存,elasticsearch-7.13.1版本默认4G,根据需求修改,这里修改成2G
vi jvm.options
## jvm.options.d directory containing these lines:
-Xms2g
-Xmx2g
5.进入es的bin目录临时启动,主要不能以root账号启动,会报错解决方式如下
在bin目录中执行 ./elasticsearch
6.后台启动方式
在bin目录中执行 ./elasticsearch -d
7.关闭后台服务
ps -ef|grep elasticsearch
kill -9 进程号
重要提示:
一.因为安全问题elasticsearch不让用root用户直接运行,所以要创建新用户
1.Liunx,创建新用户adduser XXX然后给创建的用户加密码passwd XXX输入两次密码。
2.切换刚才创建的用户su XXX然后执行eLasticsearch会显示Permission denied权限不足。
3.给新建的XXX赋权限,chmod 777*这个不行,因为这个用户本身就没有权限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
4.root给XXX赋权限,chown-R XXX/你的elasticsearch安装目录。然后执行成功。
#创建一个分组
groupadd es (组名)
useradd 用户名(esadmin) -g es -p123456
#elasticsearch-7.13.1文件目录分配给 用户名(esadmin)
chown -R 用户名(esadmin):es elasticsearch-7.13.1 将
#切换用户
su 用户名(esadmin)
重新启动出现如下错误
ERROR: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方案:
vim /etc/sysctl.conf
vm.max_map_count=655360
#执行以下命令生效:
sysctl -p
重新启动es出现如下错误
ERROR: bootstrap checks failed[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决方案:
# 切换到root用户修改
vim /etc/security/limits.conf
# 在最后面追加下面内容
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
# 退出重新登录检测配置是否生效:
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su
ERROR: [1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
解决方式:
在elasticsearch的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:
ip替换host1等,多节点请添加多个ip地址,单节点可写按默认来
#配置以下三者,最少其一
#[discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes]
cluster.initial_master_nodes: ["node-1"] #这里的node-1为node-name配置的值