查看可安装版本
yum -y list java*
选择一个java版本进行安装,这里我们希望安装java1.8,因为我们的机器是64位的,所以选择安装java-1.8.0-openjdk-devel.x86_64。这里有个地方要注意,上图中我用红框圈起来的两个java版本,要选择-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre。
yum install -y java-1.8.0-openjdk-devel.x86_64
安装过程可能需要花费一段时间,等待完成即可。
查看java 版本
java -version
去官网下载:
最新版:https://www.elastic.co/cn/downloads/elasticsearch
其他版本:https://www.elastic.co/cn/downloads/past-releases
(1)若是本地下载完成,通过ftp上传到服务器,进行安装。截止2019年05月10日,elasticsearch 版本是 7.0.1。
(2)若是通过 wget 获取安装包,等待下载完成即可。(文件比较大,下载可能比较慢)
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.0.1-linux-x86_64.tar.gz
下载完成后,解压:
tar -zxvf elasticsearch-7.0.1-linux-x86_64.tar.gz
文件移动重命名(看个人情况操作)
移动到 /usr/local,为了方便可以把文件名版本去掉
mv elasticsearch-7.0.1 /usr/local/
cd /usr/local/
mv elasticsearch-7.0.1/ elasticsearch
进入到bin目录下
cd elasticsearch/bin/
./elasticsearch
这个问题很明显,不允许使用root用户启动,那么我们新建一个用户,并赋予权限:
useradd es
passwd es
chown -R es:es /usr/local/elasticsearch/
su es
再次启动es
./elasticsearch
说明:根据个人服务器情况,调整一些参数。由于我的阿里服务器内存只有1g内存。而 elasticsearch 默认的大小为2g,所以,很容易把服务器内存占满。
vi ../config/jvm.options
我修改为 500m
如果出现卡顿问题,可直接杀死进程
ps -ef | grep elastic
kill -9 5204
kill -9 5268
kill -9 5475
重新启动后
我们在使用一个窗口登录root用户,输入命令:
curl -X GET http://localhost:9200 #说明 如果输入localhost 不通,可以改成ip
如图所示,可以成功访问
先把7200端口 放行。但是放行后访问:
无济于事。
退出elasticsearch ,修改文件:
先切换到 root 账号
su root
再修改文件:
vi config/elasticsearch.yml
增加配置,并放开端口:
network.host: 0.0.0.0
注意:如果在启动 elasticsearch时 出现以下错误:
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2]: 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
对于错误【1】,修改文件:
vi /etc/sysctl.conf
在后面增加:
vm.max_map_count=262144
并执行命令:
sysctl -p
对于错误【2】,修改文件:
vi config/elasticsearch.yml
放开下面代码:
cluster.initial_master_nodes: ["node-1","node-2"]
用非root账户重启elasticsearch
./bin/elasticsearch
用浏览器访问:外网ip:9200
如果还是无法访问,那就看下防火墙是否放行9200端口:
netstat -ntpl
如果没有,执行命令:
iptables -I INPUT -p tcp --dport 9200 -j ACCEPT
然后再重启elasticsearch,浏览器访问,成功!
如果想让elasticsearch 在后台运行 ,请用非root账号执行:
./elasticsearch -d