学会偷懒,并懒出效率

Centos下安装ElasticSearch6

安装环境:
Centos 6.5
java 1.8.0
elasticsearch-6.0.0 最低要求java8

Elasticsearch 是开源搜索平台的新成员,实时数据分析的神器,发展迅猛,基于 Lucene、RESTful、分布式、面向云计算设计、实时搜索、
全文搜索、稳定、高可靠、可扩展、安装+使用方便,介绍都说的很好听,好不好用拿出来遛一遛。

一、jdk安装

这里不详写了,我安装的版本是:1.8.0
# java -version
java version “1.8.0_151”
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

二、 ElasticSearch6安装

官网下载地址:https://www.elastic.co/downloads/elasticsearch

#cd /opt/modules/src/
#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
#tar -zxvf elasticsearch-6.0.0.tar.gz  -C /opt/modules/
#mv /opt/modules/elasticsearch-6.0.0 /opt/modules/elasticsearch
#由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑, 建议创建一个单独的用户用来运行ElasticSearch
#groupadd elsearch
#useradd -g elsearch -s /sbin/nologin elsearch
#chown -R elsearch:elsearch  /opt/modules/elasticsearch
#切换到elsearch用户再启动
#su elsearch
$/opt/modules/elasticsearch/bin/elasticsearch     启动
$/opt/modules/elasticsearch/bin/elasticsearch -d  后台启动

三、如何确定安装成功

# curl 'http://127.0.0.1:9200/?pretty'

{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "jHspzrCbRFa6svWjSu7Big",
  "version" : {
    "number" : "6.0.0",
    "build_hash" : "8f0685b",
    "build_date" : "2017-11-10T18:41:22.859Z",
    "build_snapshot" : false,
    "lucene_version" : "7.0.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

四、配制文件

创建目录:
mkdir -p /opt/data/elsearch/data /opt/data/elsearch/logs /opt/data/elsearch/plugins
编辑配制文件
#vi /opt/modules/elasticsearch/config/elasticsearch.yml

# 集群名称,默认为elasticsearch,es启动后会将具有相同集群名字的节点放到一个集群下
cluster.name: es_production

# 节点名称,es启动时会自动创建节点名称,但你也可进行配置
node.name: es_data_node_001

# 向节点添加自定义属性
#node.attr.rack: r1

# 是否允许作为主节点,默认值为true
# 当master为true,而data为false时,该节点作为一个协调者;
# 当master为false,而data为true时,会对该节点产生严重负荷;
# 当master为false,data也为false时,该节点就变成了一个负载均衡器。
node.master: true

# 默认是3s,这是设置集群中自动发现其它节点时ping连接超时时间,为避免因为网络差而导致启动报错,我设成了30s。
discovery.zen.ping.timeout: 30s

#设置是否打开多播发现节点,默认是true,在生产环境中,建议使用单播代替组播
discovery.zen.ping.multicast.enabled: false

# 设置绑定的ip地址,这是我的master虚拟机的IP。
network.bind_host: 127.0.0.1

# 设置其它节点和该节点交互的ip地址。
#network.publish_host: 127.0.0.1

# ---------------------------------- Network -----------------------------------
network.host: 127.0.0.1
http.port: 9200

# --------------------------------- Discovery ----------------------------------
# 指明集群中其它可能为master的节点ip,以防es启动后发现不了集群中的其他节点。
# 通过主机的初始列表执行时发现新节点开始,hosts 默认 ["127.0.0.1", "[::1]"]
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

#
# 配置最小主节点总合格节点总数/ 2 + 1)来防止集群分列
#discovery.zen.minimum_master_nodes: 2

# ----------------------------------- Paths ------------------------------------
# 数据存放目录,多个目录用逗号分隔
path.data: /opt/data/elsearch/data

# 日志目录
path.logs: /opt/data/elsearch/logs

#插件目录
#path.plugins: /opt/data/elsearch/plugins

# ---------------------------------- Gateway -----------------------------------
# 在整个群集重启后,直到n个节点启动
#
#gateway.recover_after_nodes: 3

# ---------------------------------- Various -----------------------------------
#
# 需要明确的名字,删除指标
#action.destructive_requires_name: true