一、下载:
安装ElasticSearch之前,首先需要安装JDK
CentOS7下安装JDK1.8(超超超级详细)
- 链接:https://pan.baidu.com/s/113DgBNalbNwsrxCG5S4fzg
- 提取码:57jt
提取到安装包之后,打开Xftp:
如果拖拽的时候发现传输报错,可以试试这个命令:
chmod -R 777 文件夹名
//-R的意思是:文件夹以及下面的子目录都被修改权限
如果只是修改本文件夹的权限,就用chmod 777 文件夹名
然后在我们的文件夹下就可以看到这个包了:
二、安装/解压缩:
tar -zxvf elasticXXXXXX(Tab键补全)
解压完成
三、启动:
进入到bin目录下:
cd elasticsearch-7.6.2/bin
输入启动命令:
./elasticsearch
出现started,表示启动成功!
实现elasticsearch远程访问在本文的后半段
如果报错:
这是系统为了安全考虑,设置的条件。
所以,不要用root去启动,可以新建一个用户组来启动elasticsearch
第1步:创建一个用户组:
groupadd eszu(eszu是新创建的组)
第2步:创建用户,并指定所属的组:
useradd esyonghu -g eszu -p 123456
(esyonghu是新创建的用户,eszu是上一步创建的组,123456是用户密码)
第3步:让elasticsearch属于这个新建组下的这个新建用户:
- 先切换到es解压缩之后的目录
- 输入下面的命令:
chown -R esyonghu:eszu elasticsearch-7.6.2
(-R是递归的意思,esyonghu是上一步创建的用户,eszu是第1步创建的组)
第4步:切换到新创建的用户:
- 输入命令:
su esyonghu
(esyonghu是第2步创建的新用户)
- cd到elasticsearch的bin目录:
cd elasticsearch-7.6.2/bin
- 输入启动命令:
./elasticsearch
出现started,表示启动成功!
实现elasticsearch远程访问在本文的后半段
测试一下:
- 新建一个窗口,输入:
curl 127.0.0.1:9200
(elasticsearch默认端口是9200)
- 出现这个,表示安装并启动完成!
让elasticsearch在后端启动并运行?
后端启动命令:
./elasticsearch -d
由于博主这边后端启动的时候报了这样一个错,就不过多赘述后端启动了:
让elasticsearch可以远程访问?
- 进入elasticsearch目录的config目录下:
- 编辑elasticsearch.yml文件
vim elasticsearch.yml
用↓键找到这两项:
按 i 进入编辑模式
将它们改掉:
network.host为本机的IP地址
查看ip命令:
新开一个窗口,输入命令:
ifconfig
得到ip之后,粘贴过去
修改完这两项之后,然后按Esc键,退出编辑,再按 :wq就可以保存退出了。
这时候再次回到bin目录下启动:
./elasticsearch
ok,报错了:
- 处理第【1】个错误:
进入到etc下面的security
cd /etc/security
修改limits.conf这个文件
vim limits.conf
长这个样子:
加上这几行:
esyonghu soft nofile 65535
esyonghu hard nofile 65535
esyonghu soft nproc 4096
esyonghu hard nproc 4096
保存退出(Esc :wq)
- 处理第【2】个错误:
去security的limits.d文件夹,注意是文件夹,不是security的limits.d文件
cd limits.d
里面有个这个:
我们编辑它:
vim 20-nproc.conf
然后看到它长这个样子:
我们把它改成这样:
改好之后,保存退出(Esc :wq)
- 处理第【3】个错误:
修改etc下的sysctl.conf文件
长这个样子:
在其中加上一行:
vm.max_map_count=655360
变成这样子:
写好之后,保存退出(Esc :wq)
然后输入命令,让其生效:
sysctl -p
- 处理第【4】个错误:
进入elasticsearch下面的config文件夹
修改elasticsearch.yml文件:
把这个注释取消,并保留一个节点
变成这个样子:
修改完成之后,保存退出(Esc :wq)
最后:
重启服务器,重启elasticsearch:
可以看到,启动成功:
centos7需要关闭防火墙,才可以在外部访问
输入命令:
systemctl stop firewalld.service
关闭之后,就可以在外部访问了: