Elasticsearch官网: https://www.elastic.co/products/elasticsearch

一、Linux单节点部署

1. 解压elasticsearch-5.6.1.tar.gz到安装目录下,这里使用的是/opt/module

  $ tar -zxvf elasticsearch-5.6.1.tar.gz -C /opt/module/

2. 在/opt/module/elasticsearch-5.6.1路径下创建data和logs文件夹

  $ mkdir data

  $ mkdir logs

3. 修改配置文件/opt/module/elasticsearch-5.2.2/config/elasticsearch.yml

  $ pwd

  /opt/module/elasticsearch-5.6.1/config

  $ vi elasticsearch.yml

# ---------------------------------- Cluster -------------------------

cluster.name: my-application

# ------------------------------------ Node --------------------------------------

node.name: node-102

# ----------------------------------- Paths ---------------------------------------

path.data: /opt/module/elasticsearch-5.6.1/data

path.logs: /opt/module/elasticsearch-5.6.1/logs

# ----------------------------------- Memory -----------------------------------

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

# ---------------------------------- Network ------------------------------------

network.host: 192.168.1.102

# --------------------------------- Discovery ------------------------------------

discovery.zen.ping.unicast.hosts: ["hadoop102"]

解释:

(1)cluster.name:集群名称,如果要配置集群需要两个节点上的elasticsearch配置的cluster.name相同,都启动可以自动组成集群,这里如果不改cluster.name则默认是cluster.name=my-application。

(2)nodename:节点名称,随意取名字,但是集群内的各节点不能相同。

(3)修改后的每行前面不能有空格,修改后的“:”后面必须有一个空格

4.  配置linux系统环境(为了避免Elasticsearch在使用资源时受限,参考:http://blog.csdn.net/satiling/article/details/59697916)

(1)编辑limits.conf 添加类似如下内容

  $ sudo vi /etc/security/limits.conf

  添加如下内容:

  * soft nofile 65536

  * hard nofile 131072

  * soft nproc 4096

  * hard nproc 4096

(2)进入limits.d目录下修改配置文件。(看一下limits.d,可能名字并不是90-nproc.conf)

  $ sudo vi /etc/security/limits.d/90-nproc.conf

  修改如下内容:

    * soft nproc 1024

  修改为

    * soft nproc 4096

(3)修改配置sysctl.conf

  $ sudo vi /etc/sysctl.conf

  添加下面配置:

    vm.max_map_count=655360

  并执行命令:

    $ sudo sysctl -p

  然后,重新启动elasticsearch,即可启动成功。

5. 启动elasticsearch

  $ cd /opt/module/elasticsearch-5.6.1

  $ bin/elasticsearch

6. 测试elasticsearch

  curl http://hadoop102:9200

  curl -XGET 'localhost:9200/_cat/health?v&pretty'

二、安装Elasticsearch(多节点集群Linux环境)

1. 分发Elasticsearch安装包至hadoop103和hadoop104

  $ xsync elasticsearch-5.6.1/

2. 修改hadoop102配置信息

  $ vi elasticsearch.yml

  添加如下信息:

    node.master: true

    node.data: true

3. 修改hadoop103配置信息

(1)修改Elasticsearch配置信息

  $ vi elasticsearch.yml

    node.name: node-103

    node.master: false

    node.data: true

    network.host: 192.168.1.103

(2)修改Linux相关配置信息(同hadoop102)

4. 修改hadoop104配置信息

(1)修改Elasticsearch配置信息

 $ vi elasticsearch.yml

  node.name: node-104

  node.master: false

  node.data: true

  network.host: 192.168.1.104

(2)修改Linux相关配置信息(同hadoop102)

5. 分别启动三台节点的Elasticsearch

 三、启动异常

1. 使用root用户启动失败

  elasticsearch是不支持使用root账号启动程序的,会报错:“Caused by: java.lang.RuntimeException: can not run elasticsearch as root”:

  解决办法:切换到其他用户启动。

2. elasticsearch安装目录权限不对

  如果elasticsearch就是使用root账号部署的,启动时就会出报错:

  Exception in thread "main" 2018-06-03 17:36:23,881 main ERROR No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'log4j2.debug' to show Log4j2 internal initialization logging.

  Caused by: java.nio.file.AccessDeniedException: /usr/local/elasticsearch-5.6.0/config/elasticsearch.yml

  解决办法:

  查看文件权限,命令 # ll /usr/local/

    drwxr-xr-x  7 root root       123 4月   7 2018 elasticsearch-5.6.2

  说明这个文件夹属于root用于,其他用户没权限执行,修改文件权限命令如下,elk是用户名:

  chown  -R elk:elk elasticsearch-5.6.0

 

一、elasticsearch部署的更多相关文章

  1. ElasticSearch部署文档(Ubuntu 14.04)

    ElasticSearch部署文档(Ubuntu 14.04) 参考链接 https://www.elastic.co/guide/en/elasticsearch/guide/current/hea ...

  2. Centos7 Elasticsearch部署

    (1)ELKStack简介 1.elk介绍 ELK Stack包含:ElasticSearch.Logstash.Kibana ElasticSearch是一个搜索引擎,用来搜索.分析.存储日志.它是 ...

  3. elasticsearch 部署

    环境 ubuntu 12.04 64位 桌面版 jdk 1.7 elasticsearch 2.3.4 伪集群部署 elasticsearch 主目录在 /home/sdbadmin/es-clute ...

  4. Elasticsearch部署异常Permission denied

    异常描述 在Linux上部署ElasticSearch时抛出了一个异常如下: log4j:ERROR setFile(null,true) call failed. java.io.FileNotFo ...

  5. Elasticsearch 部署以及报错解决

    前言 Elasticsearch 是一个非常值得学习和使用的分布式存储 此次部署将采用 centos6.9 一.初步了解 ES 简谈概念 Elasticsearch 是一个开源的高扩展的分布式全文检索 ...

  6. 第一章·ELKstack介绍及Elasticsearch部署

    一.ELKstack课程大纲  二.ELKstack简介 什么是ELK? 通俗来讲,ELK是由Elasticsearch.Logstash.Kibana 三个开源软件的组成的一个组合体,这三个软件当 ...

  7. ElasticSearch部署安装

    测试版本:elasticsearch-5.1.1 1.Windows环境下安装(win10系统) 1)解压elasticsearch-5.1.1.zip. 2)执行elasticsearch.bat启 ...

  8. ELK日志管理之——elasticsearch部署

    1.配置官方yum源 [root@localhost ~]# rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch ...

  9. ElasticSearch部署

    安装jdk1.7 1.卸载Liunx自带的openjdk rpm -qa | grep jdk 查看当前的jdk版本 sudo yum -y remove java-1.7.0-openjdk-hea ...

随机推荐

  1. Mybatis插件扩展以及与Spring整合原理

    @ 目录 前言 正文 插件扩展 1. Interceptor核心实现原理 2. Mybatis的拦截增强 Mybatis与Spring整合原理 1. SqlSessionFactory的创建 2. 扫 ...

  2. java 面向对象(二十五):内部类:类的第五个成员

    内部类:类的第五个成员 1.定义: Java中允许将一个类A声明在另一个类B中,则类A就是内部类,类B称为外部类.2.内部类的分类:成员内部类(静态.非静态 ) vs 局部内部类(方法内.代码块内.构 ...

  3. Hangfire实战(一)------Hangfire+SQL Server实现简单的任务调度

    Hangfire:一个开源的任务调度框架 开发环境:VS2017,SQL Server 2012,.NET Framework 4.5 项目类型:控制台应用程序 1.在vs的程序包控制台中为项目添加H ...

  4. 02-URLConf调度器

    1.工作原理 django通过urlconf来映射视图函数,只区分路径,不区分http方法 Django确定要使用的根URLconf模块,一般是在settings中的ROOT_URLCONF设置的值. ...

  5. mysql实现主从复制/主从同步

    业务场景 小公司业务代码存于一个服务器上,而这个服务器有的时候回宕机,导致业务停顿,造成影响.这个时候 就需要做高可用 两个ngix+两个tomcat+两个mysql实现高可用,避免单点问题.中间使用 ...

  6. 从JIT到类加载再到实现原理解式Lambda编译慢的问题

    问题回顾 描述的话不多说,直接上图: 看到输出结果了吗?为什么第一次和第二次的时间相差如此之多?咱们一起琢磨琢磨,也可以先去看看结论再回过头看分析 注:并非仅第二次快,而是除了第一次,之后的每一次都很 ...

  7. SqlServer同义词

    最近在项目中遇到跨库操作具有相同表结构的数据表的问题.(A库中的数据表a和B库中的数据表b,两者表结构相同) 跨库操作中我们一般是为了实现不同数据库中表字段信息,字段状态等实时同步,可能很多人会想到使 ...

  8. 基于Python的HTTP接口自动化测试框架实现

    今天我们来讲一下基于Python的HTTP接口自动化测试框架的实现,范例如下: 一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 e ...

  9. antd实战:表单上传,文件列表的过滤与限制。

    用表单上传组件最痛苦的地方是: 他的诸多行为与纯上传组件不一样,而表单的文档关于这一块基本上没有提,只能自己试. 比如我想做一个上传前的拦截. beforeUpload: (file, fileLis ...

  10. java中实现无限层级的树形结构

    本文展示了两个实现方法的代码.两个代码的实现方法不同,代码2更为简单. 先看一下最后实现的结果: 最后结果-json 代码1: 实现过程: 1.传入一段json字符串 2.将字符串转换成对象存入节点列 ...