一、es概念
1. 概述
es是面向文档(document oriented)的, 这意味着它可以存储整个对象或文档(document). 然而它不仅仅是存储, 还会索引(index)每个文档的内容使之可以被搜索. 在 es中,你可以对文档(而非成行成列的数据)进行索引, 搜索, 排序, 过滤.
es类比传统关系型数据库
存储到es集群的数据, 默认是分为5个分片, 每个分片是共2个副本.
- 集群, 由多个节点组成,一个集群中有很多的很多个索引库
- setting, 配置集群中索引库的信息, 每个索引库默认是5个分片和2个副本
- 节点 , 一台物理机器
- 分片, 节点中存放的是某个索引库的一个分片.
- 文档, 文档就是数据库中的一行数据或者是一个爬虫爬取回来的网页信息或者是一个订单信息.
- 字段, 字段是文档中的属性(id, title, contend, author,time)
- mapping, 描述字段的信息(是否分析,是否存储,是否索引等)
- 副本, 就是分片的备份, 保存数据不丢失.
- 文档
- 字段
- mapping
二、安装5.0的elasticsearch、安装1.8以上的jdk
配置文件elasticsearch.yml
主从配置
主
cluster.name: my-es-vspn
node.name: master
node.master: true
node.data: true
#path.data: /path/to/data
#path.logs: /path/to/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#cluster.initial_master_nodes: ["127.0.0.1"]
从
cluster.name: my-es-vspn
node.name: slave1
node.master: false
node.data: true
#path.data: /path/to/data
#path.logs: /path/to/logs
network.host: 127.0.0.1
http.port: 9201
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]
#cluster.initial_master_nodes: ["127.0.0.1"]
1、修改config/elasticsearch.yml
2、或者在启动es的时候指定参数 (也可以是0.0.0.0,即任何主机)
如bin/elasticsearch -Dnetwork.host=192.168.80.200 (但这样,每次很麻烦!)
3、es 安装注意事项, 以及容易出现问题的地方
(1): 关闭服务器防火墙
service iptables stop
chkconfig iptables off
(2): network.host 属性需要设置【 如果不设置的话只能通过 127.0.0.1 来进行访问】
network.host: 192.168.80.200 【注 意 : 冒 号 后 面 必 须 要 有 空 格 , 这 样 只 能 通 过192.168.80.200 访问 es】
或者 network.host: 0.0.0.0 【 这样可以通过此服务器的所有 ip 访问 es, 包括 127.0.0.1】
(3): es 的访问端口问题
默认 es 会监听 9200 端口, 可以通过 http 请求进行访问。
但是要注意: 如果在一个节点上连续启动多个 es 实例的话, es 监听的端口号会递增,
9201,9202…
(4): 如果发现 es 启动之后在浏览器无法正常访问
建议查看 es 的启动日志, 确认 es 启动的时候是否报错, 以及绑定的 ip 和端口是多少。
前台方式启动 es 的话, 可以直接在控制台查看 es 的启动日志、
后台方式启动 es 的话, 可以到 ES_HOME/logs/elasticsearch.log 文件中查看日志
三、 安装5.0的Kibana
server.host: "0.0.0.0"
elasticsearch.url:"http://localhost:9200"
#elasticsearch.url:"http://ip:port"
四、集群的配置