前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux安装Elasticsearch

Linux安装Elasticsearch

作者头像
dalaoyang
发布2018-10-25 14:53:50
1.4K0
发布2018-10-25 14:53:50
举报
文章被收录于专栏:dalaoyangdalaoyang

本文介绍Linux环境如何安装Elasticsearch.

本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。

1 安装JDK

网上教程很多,也可以参考本人教程之前写的Linux安装JDK

2 安装Elasticsearch

2.1 创建elasticsearch目录

代码语言:javascript
复制
cd /usr/local/
代码语言:javascript
复制
mkdir tool
代码语言:javascript
复制
cd tool
代码语言:javascript
复制
mkdir elasticsearch
代码语言:javascript
复制
cd elasticsearch

2.1 下载Elasticsearch

2.1.1 在刚刚创建好的文件夹内下载Elasticsearch(以下简称es)

代码语言:javascript
复制
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz

2.1.2 解压es包

代码语言:javascript
复制
tar -xvf elasticsearch-5.4.2.tar.gz

2.1.3 进入es/bin包

代码语言:javascript
复制
cd elasticsearch-5.4.2/bin

2.1.4 启动es

代码语言:javascript
复制
./elasticsearch

2.2 解决问题

2.2.1 问题一

直接启动,遇到如图问题,如下:

这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options

代码语言:javascript
复制
vi ../config/jvm.options

修改如下位置

由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:

修改后在次启动:

代码语言:javascript
复制
./elasticsearch

2.2.2 问题二

出现如下错误:

代码语言:javascript
复制
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

如图

这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:

添加es用户

代码语言:javascript
复制
useradd es

添加es用户密码

代码语言:javascript
复制
passwd es

将文件夹elasticsearch-5.4.2赋予es权限

代码语言:javascript
复制
chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2

切换为es用户

代码语言:javascript
复制
su es

再次启动es

代码语言:javascript
复制
./elasticsearch

这次启动成功了,我们在使用一个窗口登录root用户,输入命令:

代码语言:javascript
复制
curl -X GET http://localhost:9200

如图所示,可以成功访问

2.2.3 问题三

在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)

使用root用户,打开elasticsearch.yml文件,如下:

代码语言:javascript
复制
vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml

文件内增加如下代码

代码语言:javascript
复制
network.host: 0.0.0.0

使用es用户启动,发现又出现了错误如下,得到错误信息如图

使用root用户打开如下文件:

代码语言:javascript
复制
vim /etc/sysctl.conf

添加如下配置:

代码语言:javascript
复制
vm.max_map_count = 655360

使配置生效

代码语言:javascript
复制
/sbin/sysctl -p

然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:

代码语言:javascript
复制
./elasticsearch &

总结

以上全是本人踩坑实践得到的,亲测可用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装JDK
  • 2 安装Elasticsearch
  • 2.1 创建elasticsearch目录
    • 2.1 下载Elasticsearch
      • 2.1.1 在刚刚创建好的文件夹内下载Elasticsearch(以下简称es)
      • 2.1.2 解压es包
      • 2.1.3 进入es/bin包
      • 2.1.4 启动es
    • 2.2 解决问题
      • 2.2.1 问题一
      • 2.2.2 问题二
      • 2.2.3 问题三
  • 总结
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档