Elastic Search 安装和配置

1.下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.3.tar.gz

2.解压

tar -vxf elasticsearch-6.5.3.tar.gz

3.启动

cd /usr/elasticsearch-6.5.3/

4.开启端口

firewall-cmd --permanent --add-port=9200/tcp

sudo firewall-cmd --reload

5.启动

sh ./bin/elasticsearch

ElasticSearch后台启动命令

sh ./bin/elasticsearch -d

a.启动报错

java.lang.RuntimeException: can not run elasticsearch as root

这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,

建议创建一个单独的用户用来运行ElasticSearch

解决办法

1.创建elsearch用户组及elsearch用户

groupadd elsearch

useradd elsearch -g elsearch -p elasticsearch

#chown -R [用户]:[所属组] 目录

chown -R elsearch:elsearch  elasticsearch-6.5.3/

#切换账户

su elsearch

2.异常描述为不能以root权限运行Elasticsearch.解决办法是运行时加上参数: in/elasticsearch -Des.insecure.allow.root=true

3.修改bin/elasticsearch,加上ES_JAVA_OPTS属性:ES_JAVA_OPTS="-Des.insecure.allow.root=true"

b.外网不能访问

修改config/elasticsearch.yml 保证外网可以访问

添加 network.host: 0.0.0.0 表示所有用户可访问

c.max_map_count过小

错误“max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]”,max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量,系统默认是65530,修改成262144。解决方法是修改/etc/sysctl.conf配置文件,添加vm.max_map_count=262144

vi /etc/sysctl.conf

d. max file descriptors过小

错误“max file descriptors [65535] for elasticsearchprocess is too low, increase to at least [65536]”,maxfile descriptors为最大文件描述符,设置其大于65536即可。解决方法是修改/etc/security/limits.conf文件,添加“* -  nofile 65536 * - memlock unlimited”,“*”表示给所有用户起作用

vi /etc/security/limits.conf

e. failed to obtain node locks

删除data目录下的数据

继承head插件

1.下载

 wget https://github.com/mobz/elasticsearch-head/archive/master.zip

2.解压

 yum install -y unzip zip

unzip master.zip

3.下载node.js

wget https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-x64.tar.xz

4.解压

tar -xvf node-v10.14.2-linux-x64.tar.xz

5.修改配置文件

修改 /etc/profile

export NODE_HOME=/usr/node-v10.14.2-linux-x64

export PATH=$PATH:$NODE_HOME/bin

export NODE_PATH=$NODE_HOME/lib/node_modules

刷新

source /etc/profile

6.执行

cd elasticsearch-head-master

npm install

安装过程中出现错误 phantomjs-prebuilt@2.1.14 install: `node install.js`

#忽略脚本继续进行安装

npm install phantomjs-prebuilt@2.1.14 --ignore-scripts

最终安装成功!成功后当前目录多了一个node_modules文件夹。。

7编辑

vi Gruntfile.js

修改es配置文件

cd /usr/elasticsearch-6.5.3/config

#Centos6不支持SecComp,而elasticsearch-6.1.2默认bootstrap.system_call_filter为true进行检测

bootstrap.system_call_filter: false

#允许跨域不然elasticsearch head不能访问

http.cors.enabled: true

http.cors.allow-origin: "*"

启动

cd /usr/elasticsearch-head-master

npm run start

cd /usr/elasticsearch-6.5.3/

su elsearch

sh ./bin/elasticsearch

配置 Elastic Search 集群

es 数据                      #elasticsearch-cluster/elasticsearch-6.5.2/data

es 程序日志                #/usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

es gc 日志                   # /usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

es heap dump 路径      # /usr/elasticsearch-cluster/elasticsearch-6.5.2/es_heap_dump

es java io 临时路径           # /usr/elasticsearch-cluster/elasticsearch-6.5.2/es_java_io

1、内存配置

-Xms400m

-Xmx400m

从节点1

cluster.name: es_cluster

node.name: slave1

node.master: true

node.master: true

http.port: 8200

transport.tcp.port: 9302

path.data: /usr/elasticsearch-cluster/elasticsearch-6.5.2/data

path.logs: /usr/elasticsearch-cluster/elasticsearch-6.5.2/logs

discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

discovery.zen.minimum_master_nodes: 2

discovery.zen.ping_timeout: 120s

client.transport.ping_timeout: 60s

从节点2

cluster.name: es_cluster

node.name: slave2

node.master: true

path.data: /usr/elasticsearch-cluster/elasticsearch-6.5.1/data

path.logs: /usr/elasticsearch-cluster/elasticsearch-6.5.1/logs

discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

http.port: 7200

transport.tcp.port: 9301

discovery.zen.minimum_master_nodes: 2

discovery.zen.ping_timeout: 120s

client.transport.ping_timeout: 60s

解释:

1.1:http.cors.enabled: true 允许跨域访问,为了配合elasticsearch-head可视化ES界面

http.cors.allow-origin: "*" 允许所有地址跨域访问

1.2:network.host: 0.0.0.0 此项配置为了主机能访问虚拟机

1.3:cluster.name: pionner 非常重要,配置集群名称,所有节点必须一样,否则节点发现不了集群

1.4:node.master: true 表名此节点允许成为主节点

node.name: slave1 节点名称

1.5:http.port: 8200 节点在web上发布端口号,默认是9200,由于单机多节点配置,建议指定一个

transport.tcp.port: 9301 节点通信端口,由于ES各节点之间互相访问,默认9300,单机多节点建议指定

1.6:discovery.zen.ping_timeout: 120s 设置集群中自动发现其他节点时ping的超时时间,默认3s,网络比较差可以提高此 值,以防止发现其他节点时出错,发生脑裂。

client.transport.ping_timeout: 60s

1.7: discovery.zen.minimum_master_nodes: 2  规则为n/2+1,告诉该节点,其他可以作为主节点的个数

1.8:discovery.zen.ping.unicast.hosts: ["192.168.0.110:9300","192.168.0.110:9302"] 其他节点的地址端口号,注意端口号为 节点通信端口,不要配置成web发布端口了

elastic 集群安装的更多相关文章

  1. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十七)Elasticsearch-6.2.2集群安装,组件安装

    1.集群安装es ES内部索引原理: <时间序列数据库的秘密(1)—— 介绍> <时间序列数据库的秘密 (2)——索引> <时间序列数据库的秘密(3)——加载和分布式计算 ...

  2. Centos7中ELK集群安装流程

    Centos7中ELK集群安装流程   说明:三个版本必须相同,这里安装5.1版. 一.安装Elasticsearch5.1   hostnamectl set-hostname elk vim /e ...

  3. 【ELK】【docker】【elasticsearch】1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安装ik分词器

    系列文章:[建议从第二章开始] [ELK][docker][elasticsearch]1. 使用Docker和Elasticsearch+ kibana 5.6.9 搭建全文本搜索引擎应用 集群,安 ...

  4. elasticsarch5.4集群安装

    越来越多的企业已经采用ELK解决方案来对其公司产生的日志进行分析,笔者最近着手在生产环境部署自己的ELK stack,本文介绍ELK中elasticsearch5.2集群的实现. 一.环境准备 1.系 ...

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

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

  6. 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)

    Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...

  7. kafka集群安装部署

    kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...

  8. CentOS下Hadoop-2.2.0集群安装配置

    对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...

  9. Hadoop多节点集群安装配置

    目录: 1.集群部署介绍 1.1 Hadoop简介 1.2 环境说明 1.3 环境配置 1.4 所需软件 2.SSH无密码验证配置 2.1 SSH基本原理和用法 2.2 配置Master无密码登录所有 ...

随机推荐

  1. Java Random、ThreadLocalRandom、UUID类中的方法应用(随机数)

    1.Random:产生一个伪随机数(通过相同的种子,产生的随机数是相同的): Random r=new Random(); System.out.println(r.nextBoolean()); S ...

  2. Head First Python之人人都爱列表(1-初识Python)

    IDLE 内置函数==BIF==built-in function 默认地,内置函数都是紫色,字符串是绿色,关键字是橙色. tab:自动补全 Alt-P:前一个 Alt-N:下一个 列表的特性 列表看 ...

  3. APUE(3)---文件I/O (2)

    七.函数write #include <unistd.h> size_t write(int fd, const void *buf, size_t nbytes); //若成功,返回已写 ...

  4. 一步之遥——第七届蓝桥杯C语言B组(国赛)第一题

    原创 一步之遥 从昏迷中醒来,小明发现自己被关在X星球的废矿车里.矿车停在平直的废弃的轨道上.他的面前是两个按钮,分别写着“F”和“B”. 小明突然记起来,这两个按钮可以控制矿车在轨道上前进和后退.按 ...

  5. 转 XlsReadWriteII 的博文(自留参考)

    如何使用XlsReadWriteII在Delphi中读取Excel文件 XLSReadWriteII v5.20.01a for Delphi XE5 x32下载地址: http://download ...

  6. Javascript脚本 : eval()函数

    Javascript 中 eval(X)函数 是将参数 当做语句来执行 var number1='1+2'; alert(number1); 输出为 '12': var number2=eval('1 ...

  7. 使用web3部署一个比较复杂的智能合约

    以太坊系列之二十一 使用web3部署比较复杂的智能合约 搭建私链上的雷电网络 以太坊系列之二十一 使用web3部署比较复杂的智能合约 1 雷电网络智能合约简单介绍 2 remix 无法部署使用了lib ...

  8. Docker 的部署方式

    在使用 docker run 命令启动 Docker 容器时,如果需要进行端口映射.目录挂载.网络信息等配置,整条命令将变得非常长,并且由于是一条 shell 命令,修改和复用也不方便.我们在大规模部 ...

  9. 函数形参为基类数组,实参为继承类数组,下存在的问题------c++程序设计原理与实践(进阶篇)

    示例: #include<iostream> using namespace std; class A { public: int a; int b; A(int aa=1, int bb ...

  10. C# LINQ(4)

    where作为LINQ的条件关键字. where的右面是表达式 表达式可以方法返回值,但是where的右面最终是一个可检测真假的表达式 代码: static void Main(string[] ar ...