专栏首页歪歪梯Clubelasticsearch环境搭建

elasticsearch环境搭建

部署环境

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指定解压目录

$ tar zxf jdk-xxx.tar.gz -C /usr 

配置java环境变量

$ vi /etc/profile

在末尾添加

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

生效环境配置

$ source /etc/profile

输入

$ java

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

安装elasticsearch

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

$ tar zxf elasticsearch-xxx.tar.gz -C /usr

运行elasticsearch

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

$ ./elasticsearch

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

$ useradd elasticsearch
$ passwd elasticsearch

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

$ groupadd es
$ usermod -a -G es elasticsearch

切换到新创建的elasticsearch用户

$ su elasticsearch

再运行一遍~

$ ./elasticsearch

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

$ su root

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

$ chown -R elasticsearch:es elasticsearch-6.3.0/

切回elasticsearch用户并运行

$ su elasticsearch
$ ./elasticsearch

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

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默认配置

$ su root
$ vi /etc/security/limits.conf

在末尾添加

@es soft nofile 65536

@es hard nofile 131072

@es soft nproc 4096

@es hard nproc 4096

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

$ vi /etc/sysctl.conf

在末尾添加

vm.max_map_count=655360

生效配置

$ sysctl -p

至此,elasticsearch可以正常运行

测试elasticsearch服务

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

$ su root
$ firewall-cmd --zone=public --add-port=9200/tcp --permanent
$ firewall-cmd --reload

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

$ vi config/elasticsearch.yml

在末尾增加

network.host: 0.0.0.0

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

$ ./elasticsearch

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

本文分享自微信公众号 - 歪歪梯Club(bcbkmgzh),作者:歪歪梯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python学习笔记(二)

    Python中一切皆对象,每一次赋值都是对象引用的传递,而部分类型是不可变引用,所以赋值时实际是创建了新对象,引用新对象。

    歪歪梯
  • ZGC垃圾收集器原理分析

    zgc只支持64位系统,然后最大支持4T的堆内存,64位指针只需要使用42位就可以寻址4TB的空间,这意味着有多余的22位可以利用。zgc利用了4位,分别用来表...

    歪歪梯
  • Python学习笔记

    Python不支持单个字符,即使单个字符也是一个字符串 字符串通过单引号或者双引号包围,三个单引号可以包围多行字符串 字符串对象结合下标运算可以获取对应位置字符...

    歪歪梯
  • Java开发环境系列:全文搜索引擎elasticsearch的安装(windows、linux)

    Elastic Search要求使用较高版本JDK,本文使用D:\DevTools\jdk1.8.0_131,并配置环境变量

    架构师小跟班
  • ElasticSearch 6.x head插件安装

    ElasticSearch-head是一个H5编写的ElasticSearch集群操作和管理工具,可以对集群进行傻瓜式操作。

    py3study
  • ELK 基础安装配置

    老七Linux
  • es的安装

    2、不能以root身份运行,因此需要新建一个用户专门运行elasticSearch

    爱撒谎的男孩
  • 阿里云服务器上安装 ElasticSearch 和 Kibana 与 IK 分词器错误解决

    然后获取第一列的那个 PID ,执行 kill -9 pid 杀死该进程,然后重新启动。

    wsuo
  • Elasticsearch(一)——环境配置

    elasticsearch 的官方中文网址:https://www.elastic.co/cn/products/elasticsearch.点击downloa...

    羊羽shine
  • Elasticsearch 教程(1)安装【CentOS版】

    我们首先要配置java环境,这个需要Java8或者更新的包。一般执行以下命令时可以看看Java版本是否符合:

    魔王卷子

扫码关注云+社区

领取腾讯云代金券