Elasticsearch集群安装,

基于Elasticsearch6.2.2版本,

在Linux上安装Elasticsearch集群。

1.安装规划

IP HostName Service MasterNode DataNode NodeName
10.43.159.9 zdh-9 Elasticsearch false true node-9
10.43.159.11 zdh-11 Elasticsearch true false node-11

安装用户:elasticsearch/zdh1234

2.使用root登陆zdh-11,创建elasticsearch用户

useradd -g hadoop -s /bin/bash -md /home/elasticsearch elasticsearch

passwd elasticsearch

zdh1234

再切换到elasticsearch用户,获取并且解压安装包

tar -zxvf elasticsearch-6.2.2.tar.gz

3.配置elasticsearch用户环境变量

安装jdk,修改.bashrc文件,配置jdk目录
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使用source .bashrc使环境变量生效,

使用java -version检查结果。

4.修改配置文件config/elasticsearch.yml

集群名称,建议修改成自己的,防止误用默认集群

cluster.name: yuwencluster

配置外网可以访问

network.host: 0.0.0.0

配置访问端口

http.port: 9200

配置集群节点列表,用于集群发现各个节点:

discovery.zen.ping.unicast.hosts: ["zdh-9", "zdh-11"]

discovery.zen.minimum_master_nodes: 1

下面的几个参数需要根据各个节点的规划做相应的修改:

node.name: node-11

如果是master节点设置成true

node.master: true

如果是data节点设置成true

node.data: false

如果使用的是Centos6+操作系统,

需要在elasticsearch.yml中添加如下配置,

注意要加在Memory下面:

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

5.使用root用户修改相应的配置

5.1配置sysctl.conf

vim /etc/sysctl.conf

添加如下配置

vm.max_map_count=262144

让配置生效

sysctl -p

查看配置的数目

sysctl -a|grep vm.max_map_count

5.2配置limits.conf

vim /etc/security/limits.conf

#*代表所有用户,也可以指定用户名elasticsearch
* hard nofile 65536
* soft nofile 65536
* soft nproc 4096
* hard nproc 4096

重新登录elasticsearch,查看是否生效

ulimit -Hn

返回65536表示OK。

5.3修改90-nproc.conf 配置文件

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

修改为如下内容:

  • soft nproc 4096

6.使用elasticsearch用户启动elasticsearch

启动elasticsearch服务

./bin/elasticsearch

后台启动elasticsearch服务

./bin/elasticsearch -d

注意elasticsearch默认是不允许使用root用户启动的。

停止elasticsearch服务

grep找到elasticsearch对应的进程,kill掉即可

jps查看到类似如下进程:

7324 Elasticsearch

7.安装zdh-9的elasticsearch用户

按照上面的步骤1-6把elasticsearch安装zdh-9的elasticsearch用户,

修改elasticsearch.yml注意下面的几个参数,

需要根据各个节点的规划做相应的修改:

node.name: node-9

如果是master节点设置成true

node.master: false

如果是data节点设置成true

node.data: true

8.查看集群的状态

curl -XGET 'http://10.43.159.11:9200/_cluster/health?pretty'
返回结果:
{
"cluster_name" : "yuwencluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 2,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}

可以从结果中看到集群有2个节点

curl -XGET 'http://10.43.159.11:9200/_cat/master?v'
curl -XGET 'http://10.43.159.11:9200/_cat/nodes?v'

9.客户端验证

请参考《Elasticsearch单机安装》

10.错误解决:

1.问题:

[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter:

Java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMPandCONFIG_SECCOMP_FILTERcompiledinatorg.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0]

at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]

原因:报了一大串错误,大家不必惊慌,其实只是一个警告,主要是因为你Linux版本过低造成的。

解决方案:

1、重新安装新版本的Linux系统

2、警告不影响使用,可以忽略

Elasticsearch集群安装Version6.2.2的更多相关文章

  1. 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用

    一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...

  2. CentOS下 elasticsearch集群安装

    1.进入root目录并下载elasticsearch cd /root wget https://download.elastic.co/elasticsearch/elasticsearch/ela ...

  3. ELK学习实验003:Elasticsearch 集群安装

    前面已经介绍了Elasticsearch这个工具,并对单机安装做了简单介绍,现在使用三台机器做一个elasticsearch集群 一 环境准备 1.1 机器准备 1.2 同步时间 [root@node ...

  4. ElasticSearch集群安装配置

    1. 环境说明 Cent OS 7 jdk-8u121-linux-x64.tar.gz elasticsearch-5.2.1.zip 2. 系统环境配置 新建进程用户 修改File Descrip ...

  5. ElasticSearch 集群安装,简单使用

    http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html https://gith ...

  6. elasticsearch集群安装+安全验证+kibana安装

    准备环境 启动4个centos容器, 并暴露相对应端口 (我的本机ip为172.16.1.236,以下涉及到的地方需要修改为自己的ip) node_name ip http port transpor ...

  7. ELK篇---------elasticsearch集群安装配置

    说明: 本次ELK的基础配置如下: 虚拟机:vmware 11 系统:centos7.2  两台 IP:172.16.1.15/16 一.下载es wget https://download.elas ...

  8. ElasticSearch 5.0.0 集群安装部署文档

    1.  搭建环境 3台物理机 操作系统 centos7 es1   192.168.31.141   4g内存   2核 es2   192.168.31.142   4g内存   2核 es3    ...

  9. ElasticSearch实战系列一: ElasticSearch集群+Kinaba安装教程

    前言 本文主要介绍的是ElasticSearch集群和kinaba的安装教程. ElasticSearch介绍 ElasticSearch是一个基于Lucene的搜索服务器,其实就是对Lucene进行 ...

随机推荐

  1. CSS3新增特性\HTML标签类型

    RGBA:透明度      作用: 设置透明度(R G B A)   opacity:不透明度     文字也会被设置不透明度   圆角      border-radius:圆角{左上角,右上角.. ...

  2. BigDecimal中要注意的一些事

    一.关于public BigDecimal(double val) BigDecimal中三个主要的构造函数 1 public BigDecimal(double val) 将double表示形式转换 ...

  3. 【C/C++】引用&的含义/语法/作为函数参数/函数返回值/本质/常量引用

    含义 引用不产生副本,只是给原变量起了别名. 对引用变量的操作就是对原变量的操作. 基本语法 数据类型 &别名 = 原名 e.g. int a = 10; int &b = a; // ...

  4. 关于为了一时方便,使用@Scheduled注解定时踩的坑

    摘要: 事情是这样的前两周在做项目的时候碰到一个需求---要求每天晚上执行一个任务,公司统一使用的是 xxl-job 写定时任务的,我当时为了方便自己,然后就简单的使用了Spring的那个@Sched ...

  5. Tableau如何绘制瀑布图

    一.将子类别拖至列,利润拖拽至行,类型改为甘特条形图 二 右键利润-快速表计算-汇总(数据会从左向右显示累计汇总) 三.创建计算字段-[利润] 四.将负利润拖拽到大小,利润拖拽到颜色 分析-合计-显示 ...

  6. 安装Redis5.0.8教程图解

    文档:安装Redis5.0.8教程图解.note 链接:http://note.youdao.com/noteshare?id=737620a0441724783c3f8ef14ab8a453& ...

  7. CF981B Businessmen Problems 题解

    Content 有一个长度为 \(n\) 的序列和长度为 \(m\) 的序列,两个序列中的元素都有一个编号 \(num\) 和一个值 \(val\),且同一个序列的元素之间的编号互不相同.现在从这两个 ...

  8. CF1104A Splitting into digits 题解

    Content 给定一个数字 \(n\),试将这个数分成若干个数,使得这些数都相等,输出任意一个方案均可. 数据范围:\(1\leqslant n\leqslant 1000\). Solution ...

  9. 针对HttpClient 重写 HttpRequestRetryHandler针对特定异常 增加重试

    调用方法: public static String doGet(String url) { try { RequestConfig defaultRequestConfig = RequestCon ...

  10. FilesCodingConvert--批量文件编码格式转换工具

    FilesCodingConvert–批量文件编码格式转换工具 简介 最近开始学习使用Android Studio,因为它的方便易用,我打算以后就不在使用ADT的方式编写Android项目了.当从Ec ...