- 官网 : https://www.elastic.co/cn/products/elasticsearch
- 下载地址 : https://www.elastic.co/cn/downloads/elasticsearch
介绍 :
- es是一个开源高扩展的分布式全文检索引擎 它可以近乎实时的存储 检索数据 本身扩展性很好 可以扩展到上百台服务器 处理PB级数据 es也使用java开发并使用lucene作为其核心来实现所有索引和搜索功能 但是他的目的是通过简单restful风格来隐藏lucene的复杂性 从而让全文搜索变得简单
安装
- 下载好后直接解压 如下是解压后的目录介绍
bin:脚本目录,包括:启动、停止等可执行脚本
confifig:配置文件目录
lib : 存放jar包位置
data:索引目录,存放索引文件的地方 需要自己创建该目录
logs:日志目录
modules:模块目录,包括了es的功能模块
plugins :插件目录,es支持插件机制
- conf下配置文件
elasticsearch.yml : 用于配置Elasticsearch运行参数
jvm.options : 用于配置Elasticsearch JVM设置
log4j2.properties: 用于配置Elasticsearch日志
- elasticsearch.yml 配置如下
cluster.name: es # 集群名称
node.name: node_1 # 节点名称
network.host: 0.0.0.0 # 设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问
http.port: 9200 # 端口号
transport.tcp.port: 9300 # 9300 集群结点之间通信端口
node.master: true # 指定该节点是否有资格被选举成为master结点,默认是true,如果原来的master宕机会重新选举新 的master。
node.data: true # 指定该节点是否存储索引数据,默认为true。
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] # 设置集群中master节点的初始列表。
discovery.zen.minimum_master_nodes: 1 # 主结点数量的最少值
node.ingest: true
bootstrap.memory_lock: false # 设置为true可以锁住ES使用的内存,避免内存与swap分区交换数据。
node.max_local_storage_nodes: 2 # 设置索引分片数量 默认为 5
path.data: D:\develop\java\ElasticSearch\elasticsearch-6.2.1\data # 设置数据存储位置
path.logs: D:\develop\java\ElasticSearch\elasticsearch-6.2.1\logs # 设置日志存储位置
#开启cors跨域访问支持,默认为false http.cors.enabled: true
http.cors.enabled: true
#跨域访问允许的域名地址,(允许所有域名)以上使用正则 http.cors.allow-origin: /.*/ 注意:将config/elasticsearch.yml另存为utf-8编码格式
http.cors.allow-origin: /.*/
- 其他配置如下
cluster.name: 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
node.name: 节点名,通常一台物理服务器就是一个节点,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管 理一个或多个节点组成一个cluster集群,集群是一个逻辑的概念,节点是物理概念,后边章节会详细介绍。
path.conf: 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/elasticsearch
path.data: 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径, 用逗号隔开。
path.logs: 设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins: 设置插件的存 放路径,默认是es根目录下的plugins文件夹
bootstrap.memory_lock: true : 设置为true可以锁住ES使用的内存,避免内存与swap分区交换数据。
network.host: 设置绑定主机的ip地址,设置为0.0.0.0表示绑定任何ip,允许外网访问,生产环境建议设置为具体 的ip。
http.port: 9200 : 设置对外服务的http端口,默认为9200。
transport.tcp.port: 9300 集群结点之间通信端口
node.master: 指定该节点是否有资格被选举成为master结点,默认是true,如果原来的master宕机会重新选举新 的master。
node.data: 指定该节点是否存储索引数据,默认为true。
discovery.zen.ping.unicast.hosts: ["host1:port", "host2:port", "..."] 设置集群中master节点的初始列表。
discovery.zen.ping.timeout: 3s 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些。
discovery.zen.minimum_master_nodes: 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,
比如:有3个符合要求的主结点,那么这 里要设置为2。 node.max_local_storage_nodes: 单机允许的最大存储结点数,通常单机启动一个结点建议设置为1,开发环境如果单机启动多个节点可设置大于1.
双击bin目录下的elasticsearch.bat启动
或者大家可以把es注册为win10系统服务 摆脱关闭doc命令窗口就关闭es
- 启动成功后 访问http://127.0.0.1:9200/看到如下界面
安装head查询es索引信息
- head需要安装node.js 这里就不演示了 大家可以自己下载 然后加入head目录在doc命令窗口运行npm start 目录启动成功后访问 127.0.0.1:9100看到如下界面说明启动成功