安装ElasticSearch

本文详细介绍Elasticsearch集群的部署过程,包括安装前的准备、用户及系统参数配置、JDK与Elasticsearch安装步骤、集群状态检查等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


1、安装说明

在安装前,请了解如下事项:

Ø  ElasticSearch需要使用非root用户安装。

Ø  ElasticSearch的运行依赖于JDK,在安装ElasticSearch前需要先完成JDK的安装。

ElasticSearch采用集群方式部署,安装规划如下所示:

主机名

IP地址

用户组

用户名/密码

家目录

base1

192.168.209.143

es

es/es

/usr/local/es

base2

192.168.209.151

es

es/es

/usr/local/es

base3

192.168.209.152

es

es/es

/usr/local/es

2、创建用户组和用户

请在三台服务器上分别执行如下命令创建ElasticSearch的安装用户组和用户名。

1、 创建用户组。

# groupadd es

2、 创建用户名。

# useradd -g es es -d /usr/local/es

3、 修改用户密码。

# passwd es

4、 创建用户家目录。

# mkdir -p /usr/local/es

# chown es:es /usr/local/es

5、 为用户添加sudo权限

# vi /etc/sudoers

在文件末尾追加一行:

%es ALL=(ALL)ALL

3、修改系统参数

1、   修改系统文件/etc/security/limits.conf,在文件末尾添加如下内容。

* hard nofile 65536

* soft nofile 65536

2、 修改内核参数。

# sysctl -w vm.max_map_count=655360

# ulimit-v unlimited

4、安装JDK

请在每台服务器上以es用户安装JDK。

1、  将JDK安装包jdk-8u66-linux-x64.tar.gz上传到主机es用户家目录。

2、 解压JDK安装包。

$ cd

$ mkdirjdk

$ tarzxvf jdk-8u66-linux-x64.tar.gz

$ mvjdk1.8* jdk

3、 配置环境变量。

$ vi~/.bashrc

添加如下内容:

exportJAVA_HOME=/usr/local/es/jdk

exportJAVA_BIN=$JAVA_HOME/bin

exportPATH=$JAVA_HOME/bin:$PATH

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

exportJAVA_HOME JAVA_BIN PATH CLASSPATH

4、 使环境变量生效。

$ source~/.bashrc

5、 检查JDK是否安装成功。

$ java-version

若显示JDK版本信息则表明JDK安装成功。

6、 删除JDK安装包。

$ rm ~/jdk-8u66-linux-x64.tar.gz

5 、安装ES

请先在base1主机完成Elasticsearch安装后,再讲安装目录拷贝到其它主机节点。

1、  将安装包elasticsearch-5.5.1.tar.gz上传到base1主机es用户家目录。

2、 解压安装包。

$ tar zxvfelasticsearch-5.5.1.tar.gz

3、 修改安装目录名称。

$ mv elasticsearch-5.5.1elasticsearch

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

$ vi ~/elasticsearch/config/elasticsearch.yml

       请参考如下说明进行修改。

cluster.name:  elasticsearch

#集群名elasticsearch。es启动后会将具有相同集群名字的节点放到一个集群下。

node.name:"es-node-01"

#节点名字。

path.data:/usr/local/es/data

#数据文件存储路径

path.logs:/usr/local/es/logs

#日志文件存储路径

network.host:192.168.137.100

#默认网络连接地址

http.port:9200

#设置HTTP端口

discovery.zen.ping.unicast.hosts:["192.168.209.143", "192.168.209.151","192.168.209.152"]

#指明集群中其它可能为master的节点ip,以防es启动后发现不了集群中的其他节点。

covery.zen.minimum_master_nodes:2

#指定集群中的节点中有几个有master资格的节点。对于大集群可以写3个以上。

5、 将elasticsearch文件夹拷贝到base2和base3节点。

$ scp -r elasticsearches@192.168.209.151:/usr/local/es

$ scp -r elasticsearches@192.168.209.152:/usr/local/es

6、 修改base2和base3节点的配置文件。

$ vi~/elasticsearch/config/elasticsearch.yml

base2节点需修改的配置参数如下所示:

node.name:es-node-02

network.host:192.168.209.151

base3节点需修改的配置参数如下所示:

node.name:es-node-03

network.host:192.168.209.152

7、 启动ElasticSearch。

在所有节点上以es用户执行如下命令,以后台方式启动各节点的ElasticSearch。

$ cd ~/elasticsearch/bin

$ ./elasticsearch-d

8、 检查Elasticsearch集群状态。

在集群中的任一台节点上执行curl -XGET 'http://<Server_IP>:9200/_cluster/health?pretty'命令,查看集群状态。示例如下所示:

$ curl-XGET 'http://192.168.209.143:9200/_cluster/health?pretty'

 

{

  "cluster_name" :"my-application",

  "status" : "green",

  "timed_out" : false,

  "number_of_nodes" : 3,

  "number_of_data_nodes" : 3,

  "active_primary_shards" : 1,

  "active_shards" : 3,

  "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


附录一:

安装后启动时有报错,提示内存不足,如下所示,即使把VM的内存调整为10g依然无法启动。

[2016-12-20T22:37:28,543][INFO ][o.e.b.BootstrapCheck     ] [es-node-01] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2016-12-20T22:37:28,552][ERROR][o.e.b.Bootstrap          ] [es-node-01] node validation exception
bootstrap checks failed
max number of threads [1024] for user [es] is too low, increase to at least [2048]
解决方法一:

network.host: 192.168.209.143所在行注释掉,可以正常启动。但这样的化,就没法形成集群了。因为此时会用127.0.0.1作为本节点的启动IP,每个节点都是如此,这样就无法从其它主机访问了。

解决方法二:

配置为如下内容:

network.host: _eth0:ipv4_

此时,可以正常启动。

附录二:

# cat /etc/security/limits.conf 

* hard nofile 65536
* soft nofile 65536
* hard nproc unlimited
* soft nproc unlimited
* hard memlock unlimited
* soft memlock unlimited
* - as unlimited


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汀桦坞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值