文章目录
-
- 简介
- 安装
-
- 部署java环境
- 安装并运行es
- 测试
- 配置参数
- 本地启动集群
简介
Elasticsearch是一个基于Apache Lucene的开源搜索引擎。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
安装
安装 Elasticsearch 之前,你需要先安装一个较新的版本的 Java,最好的选择是,你可以从 www.java.com 获得官方提供的最新版本的 Java。之后,你可以从 elastic 的官网 elastic.co/downloads/elasticsearch 获取最新版本的 Elasticsearch。
部署java环境
# tar zxvf jdk-8u181-linux-x64.tar.gz
# mv jdk-8u181-linux-x64 java
//添加如下内容到profile文件中,注意修改自己的java路径
# vim /etc/profile
JAVA_HOME=/public/work/java
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
# source /etc/profile
安装并运行es
# tar zxvf elasticsearch-6.4.0.tar.gz
//es默认为了安全起见,禁止root用户启动es,所以我们需要新建普通用户并授权来启动es
# useradd elastic
# chown -R elastic elasticsearch-6.4.0
# su elastic
$ cd elasticsearch-6.4.0
//后台运行es
$ bin/elastic -d
测试
//输出如下信息表示运行成功
# curl localhost:9200/?pretty
{
"name" : "eBF3tt5",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "P7Orc-GcQR--Mx0iEFSjMA",
"version" : {
"number" : "6.4.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "595516e",
"build_date" : "2018-08-17T23:18:47.308994Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
配置参数
- cluster.name 集群名,默认elasticsearch,建议修改
- node.name 节点名,同一集群下节点名不能重复
- node.master 是否为主节点,选项为true或false,当为true时在集群启动时该节点为主节点,在宕机或任务挂掉后会选举新的主节点,恢复后该节点依然为主节点
- node.data 是否处理数据,选项为true或false。负责数据的相关操作
- path.data 默认数据路径,可用逗号分隔多个路径
- path.logs 默认日志路径
- network.host 对外暴露的host,设置为0.0.0.0时外网主机即可访问本地es
- transport.tcp.port 集群间通信的端口号,默认为9300
- discovery.zen.ping.unicast.hosts 集群ip集合,可指定端口,默认为9300,如[“192.168.1.101”,“192.168.1.102”]
- discovery.zen.minimum_master_nodes 最少的主节点个数,为了防止脑裂,最好设置为(总节点数/2 + 1)个
- discovery.zen.ping_timeout 主节点选举超时时间设置
- gateway.recover_agter_nodes 值为n,网关控制在n个节点启动之后才恢复整个集群
- node.max_local_storage_nodes 值为n,一个系统中最多启用节点个数为n
本地启动集群
//这样就启动了3个es实例
# bin/elasticsearch
# bin/elasticsearch -Ehttp.port=8200 -Epath.data=node2
# bin/elasticsearch -Ehttp.port=7200 -Epath.data=node3