Elasticsearch 5.0.0集群安装

Elasticsearch 5.0.0集群安装

ElasticSearch目前最新的稳定版本是:Elasticsearch 2.3.5(2016-08),5.0.0还是属于alpha版本,目前各团队正在紧张的开发测试中,每天都有新的功能和改进。ES从2.x版本直接升级到5.x是为了对于kibana的版本号,但是在功能特性上也有很大的改进,详情请参考大数据杂谈微课堂|Elasticsearch 5.0新版本的特性与改进

由于ES5.0的安装包与之前的版本有些地方不太一样,所以安装配置的细节也会有所不同。

集群机器情况:

主机域名 主机IP 安装组件
hadoop1 192.168.1.1 elasticsearch
hadoop2 192.168.1.2 elasticsearch
hadoop3 192.168.1.3 elasticsearch

1、用普通用户(非root)进入hadoop1机器,下载ElasticSearch 5.0.0 ,并解压到指定目录

2、在本机中找一个存储空间比较大的磁盘,如 /data,在该目录下执行以下命令

mkdir -p /data/es5/{data,logs}

用于存放es的数据和日志文件

3、配置 config/elasticsearch.yml 文件

# ---------------------------------- Cluster -----------------------------------
#定义es集群名称
cluster.name: es5-cluster
# ------------------------------------ Node ------------------------------------
#定义该节点的名称,各个节点不能重复
node.name: dchadoop213
# ----------------------------------- Paths ------------------------------------
#配置数据目录
path.data: /data1/hadoop/es5/data
#配置日志目录
path.logs: /data1/hadoop/es5/logs
# ----------------------------------- Memory -----------------------------------
#关闭锁定内存
bootstrap.memory_lock: false
# ---------------------------------- Network -----------------------------------
#指定本机IP地址,每个节点都要修改
network.host: 192.168.1.222
#指定http访问端口
http.port: 9200
# --------------------------------- Discovery ----------------------------------
#广播地址
discovery.zen.ping.unicast.hosts: ["hadoop1:9300", "hadoop2:9300", "hadoop3:9300"]
discovery.zen.minimum_master_nodes: 3

4、配置config/jvm.options文件

#修改JVM参数
-Xms4g
-Xmx4g

5、配置bin/elasticsearch文件

#由于es5.0依赖的是jdk8,所以需要下载jdk8并指定PAHT路径
export PATH=/home/hadoop/jdk1.8.0_101/bin:$PATH
export JAVA_HOME=/home/hadoop/jdk1.8.0_101
export ES_HOME=/home/hadoop/elasticsearch-5.0.0

6、启动

./bin/elasticsearch -d

查看后台日志是否启动成功(日志目录在第三步配置的/data1/hadoop/es5/logs路径下),如果报出以下异常:

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
	at org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:132)
	at org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:85)
	at org.elasticsearch.bootstrap.BootstrapCheck.check(BootstrapCheck.java:65)
	at org.elasticsearch.bootstrap.Bootstrap$5.validateNodeBeforeAcceptingRequests(Bootstrap.java:178)
	at org.elasticsearch.node.Node.start(Node.java:471)
	at org.elasticsearch.bootstrap.Bootstrap.start(Bootstrap.java:193)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:257)
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:101)
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:96)
	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:88)
	at org.elasticsearch.cli.Command.main(Command.java:54)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:75)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:68)

是以为操作系统的vm.max_map_count参数设置太小导致的,请使用root用户登录系统,执行以下命令:

sysctl -w vm.max_map_count=655360

并用以下命令查看是否修改成功

sysctl -a | grep "vm.max_map_count"

如果能正常输出655360,则说明修改成功,然后再次启动elasticsearch

把配置好的安装包拷贝一份到其他两台机器上,修改 config/elasticsearch.yml下的node.name和network.host为对于的机器即可。


7、访问ES

打开浏览器,输入地址 192.168.1.1:9200 出现以下内容为正常

{
  "name" : "hadoop1",
  "cluster_name" : "es5-cluster",
  "version" : {
    "number" : "5.0.0-alpha5",
    "build_hash" : "d327dd4",
    "build_date" : "2016-08-04T08:59:39.568Z",
    "build_snapshot" : false,
    "lucene_version" : "6.1.0"
  },
  "tagline" : "You Know, for Search"
}

8、关于插件

在ES的以往各个版本中都支持一个比较好用的插件 mobz/elasticsearch-head

但是ES5.0版本还不支持plugin安装,详情请查看 GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster

编辑于 2016-09-01

文章被以下专栏收录