大数据

Elasticsearch集群安装Version6.2.2

2018-07-17  本文已影响16人  木木与呆呆

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
修改为如下内容:

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、警告不影响使用,可以忽略

上一篇下一篇

猜你喜欢

热点阅读