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. fastjson过滤多余字段

    /**     * Description:过滤实体中的字段     * @param src 需要过滤的对象,如 list,entity     * @param clazz 实体的class    ...

  2. spring cloud 通过 ribbon 实现客户端请求的负载均衡(入门级)

    项目结构 环境: idea:2020.1 版 jdk:8 maven:3.6.2 1. 搭建项目 ( 1 )父工程:spring_cloud_demo_parent pom 文件 <?xml v ...

  3. 沉淀vue相关知识(主要还是个人积累用)

    路由懒加载的配置: const Home= () =>import('../components/Home') //使用ES6中的路由懒加载的方式 const About= () =>im ...

  4. 2、Spring的IOC标签介绍以及实例

    一.Spring_ioc配置文件bean标签介绍 1. bean标签 名称:bean 类型:标签 归属:beans标签 作用:定义spring中的资源,受此标签定义的资源将受到spring控制 格式: ...

  5. Jenkins配置代码化

    目录 一.简介 二.init.groovy 脚本命令行调试 一.简介 Jenkins用久了,会有一种莫名的紧张感.因为没人清楚Jenkins都配置了什么,以至于没人敢动它. 但凡使用界面进行配置的都会 ...

  6. shell脚本 监控网卡信息

    一.简介 源码地址 日期:2018/6/22 介绍:显示实时输入输出流量 效果图: 二.使用 适用:centos6+ 语言:英文 注意:无 下载 wget https://raw.githubuser ...

  7. LeetCode 36. Valid Sudoku (Medium)

    题目 Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according ...

  8. SpringCloud微服务实战——搭建企业级开发框架(三十三):整合Skywalking实现链路追踪

      Skywalking是由国内开源爱好者吴晟(原OneAPM工程师)开源并提交到Apache孵化器的产品,它同时吸收了Zipkin/Pinpoint/CAT的设计思路,支持非侵入式埋点.是一款基于分 ...

  9. ciscn_2019_n_8 1

    拿到题目老样子先判断是多少位的程序 可以看到是32位的程序,然后再查看开启的保护 然后将程序放入ida进行汇编 先shift+f12查看程序是否有system和binsh 可以看到有system和bi ...

  10. Hibernate 批量update数据时,怎么样做可以回滚,

    Hibernate 批量update数据时,怎么样做可以回滚, 1.serviceManagerDaoImpl代码里对异常不进行try,catch抛出, 2.或者抛出throw new Runtime ...