前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elasticsearch环境搭建

elasticsearch环境搭建

作者头像
歪歪梯
发布2020-06-19 16:16:21
8430
发布2020-06-19 16:16:21
举报
文章被收录于专栏:歪歪梯Club

部署环境

centos7 64位 elasticsearch 6.3.0 之前一开始用的32位,后来报错 elasticsearch6.3版本依赖的X-pack插件不支持32位 所以用的64位linux

安装JDK

elasticsearch和solr都是基于lucene开发的搜索引擎 lucene是用java开发的 所以java环境是必须的 而且elasticsearch6.3.0版本依赖的java版本应该是1.8+的 下载对应linux版本的jdk http://www.oracle.com/technetwork/java/javase/downloads/index.html window发送文件到linux可以使用xshell,securityCRT等SSH连接工具 解压文件,-C指定解压目录

代码语言:javascript
复制
$ tar zxf jdk-xxx.tar.gz -C /usr 

配置java环境变量

代码语言:javascript
复制
$ vi /etc/profile

在末尾添加

代码语言:javascript
复制
JAVA_HOME=/usr/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

生效环境配置

代码语言:javascript
复制
$ source /etc/profile

输入

代码语言:javascript
复制
$ java

可以看到相关命令提示就是安装成功了

安装elasticsearch

下载elasticsearch https://www.elastic.co/downloads/elasticsearch 解压文件

代码语言:javascript
复制
$ tar zxf elasticsearch-xxx.tar.gz -C /usr

运行elasticsearch

这一步坑比较多 进入解压后的文件夹的bin目录 运行elasticsearch

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

咔~报错一大堆 首先,出于安全考虑,elasticsearch设置了不能以root用户运行 ok,创建一个新用户elasticsearch并配置密码

代码语言:javascript
复制
$ useradd elasticsearch
$ passwd elasticsearch

并指定这个用户加入一个es用户角色群组

代码语言:javascript
复制
$ groupadd es
$ usermod -a -G es elasticsearch

切换到新创建的elasticsearch用户

代码语言:javascript
复制
$ su elasticsearch

再运行一遍~

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

咔~报错更多了 提示access denied 权限不够(~~) 没办法,很大一部分文件权限都是root才有 所以我们应该给es群组授权 切换到root

代码语言:javascript
复制
$ su root

指定解压的elasticsearch的文件夹的拥有者及群组

代码语言:javascript
复制
$ chown -R elasticsearch:es elasticsearch-6.3.0/

切回elasticsearch用户并运行

代码语言:javascript
复制
$ su elasticsearch
$ ./elasticsearch

咔~ 这一步因系统而异了,因为涉及到linux的一些默认配置 比如单个文件最大大小 最多线程数量这些 如果报错

代码语言:javascript
复制
bootstrap checks failed

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [elasticsearch] likely too low, increase to at least [4096]
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

切换到root用户 修改linux默认配置

代码语言:javascript
复制
$ su root
$ vi /etc/security/limits.conf

在末尾添加

代码语言:javascript
复制
@es soft nofile 65536

@es hard nofile 131072

@es soft nproc 4096

@es hard nproc 4096

第一个参数可以是用户名也可以是一个 @群组名 分别代表对一个用户授权或者对一个群组授权 接下来

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

在末尾添加

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

生效配置

代码语言:javascript
复制
$ sysctl -p

至此,elasticsearch可以正常运行

测试elasticsearch服务

运行elasticsearch服务后,我们打开浏览器 访问http://es服务器ip:9200 还是访问不了 1.linux防火墙 先开启linux防火墙 ctrl+c取消运行elasticsearch服务后

代码语言:javascript
复制
$ su root
$ firewall-cmd --zone=public --add-port=9200/tcp --permanent
$ firewall-cmd --reload

--permanent参数代表永久开放,没有该参数则重启机器后端口不开放 此时运行elasticsearch 还是访问不了 2.修改elasticsearch.yml中的配置 出于安全起见 elasticsearch默认只允许本机localhost访问 修改elasticsearch的配置文件,允许别的ip访问

代码语言:javascript
复制
$ vi config/elasticsearch.yml

在末尾增加

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

0.0.0.0代表所有ip都可以访问 文件中还可以设置自定义日志、数据目录,此处不再啰嗦 至此,重启elasticsearch

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

打开浏览器访问 http://es服务器ip:9200 可以看到返回的elasticsearch相关信息 完成部署

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 歪歪梯Club 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署环境
  • 安装JDK
  • 配置java环境变量
  • 安装elasticsearch
  • 运行elasticsearch
  • 测试elasticsearch服务
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档