1、安装java jdk 环境

查看可安装版本

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 

 

2、安装 elasticsearch

去官网下载:

最新版: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

 

 3、启动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

如图所示,可以成功访问

 4、在浏览器中访问

先把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

 

Logo

更多推荐