ES 学习笔记-安装

258 阅读2分钟

安装es相对来说比较简单,但是安装后启动可能报错,所以需要注意以下几点

  • es不能用root用户启动
  • 在/etc/sysctl.conf添加 vm.max_map_count = 262144
  • jdk 8及以上

安装

下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.tar.gz

解压安装包

tar -zxvf elasticsearch-6.5.0.tar.gz

安装中文分词器

可以去github下载release版本 解压在 plugins 目录下 或执行下面这条命令

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip

su 切换用户 之后运行ES

bin/elasticsearch & 

至此单机版的就搭建好了


分布式ES 搭建

在一台机器上搭建 一主两从

将下载的ES 解压三份

elasticsearch-6.5.0-master
elasticsearch-6.5.0-slave1
elasticsearch-6.5.0-slave2

修改主节点的配置,elasticsearch-6.5.0-master/config下的elasticsearch.yml

cluster.name: elastic-cluster   #集群的名称
node.name: master               #节点的id ,在集群中唯一
node.master: true               #是否是主节点
network.host: 127.0.0.1         #可以访问的ip地址 0.0.0.0(所有ip都可以访问)

配置slave节点 (两个从节点,只有端口号不一样)

cluster.name: elastic-cluster                         #集群名称三个节点保持一致
node.name: slave-1                              #从节点 ID,保证唯一
network.host: 127.0.0.1                         #对外公开的 IP 地址,如果自动识别配置为 0.0.0.0
http.port: 8200                                 #默认端口为 9200,因为我的环境是在同一台机器,因此,指定服务端口号
discovery.zen.ping.unicast.hosts: ["127.0.0.1"] #集群的 IP 组,配置主节点 IP 

用docker搭建ES 集群

docker run -e ES_JAVA_OPTS="-Xms400m -Xmx400m" -d -p 9200:9200 -p 9300:9300 -v /root/elasticsearch/es1.yml:/usr/share/elasticsearch/config/elasticsearch.yml  --name ES01 elasticsearch:latest 
docker run -e ES_JAVA_OPTS="-Xms400m -Xmx400m" -d -p 9201:9201 -p 9301:9301 -v /root/elasticsearch/es2.yml:/usr/share/elasticsearch/config/elasticsearch.yml  --name ES02 elasticsearch:latest
docker run -e ES_JAVA_OPTS="-Xms400m -Xmx400m" -d -p 9200:9200 -p 9300:9300 -v  /root/elasticsearch/es3.yml:/usr/share/elasticsearch/config/elasticsearch.yml  --name ES03 elasticsearch:latest

ES学习笔记

ES概念

  1. 索引(代表一类document的集合,类似于关系型数据库中的表)
  2. 文档(es中数据是按照json格式存储的,每条数据就是一个文档,相当于关系型数据库中的一条记录)
  3. type(6.0+已经废弃)

节点角色

  • master节点 维护节点的状态
  • Data节点 可以保存数据的节点
  • coordinating 将请求分发到合适的节点,将最终的结果汇总到一起
  • Hot& warm 冷热节点

分片

  • 主分片 主分片的分片需要提前进行设定,提前做好容量规划,分片数过小影响扩展,分片数过大影响统计、打分

  • 副本 主分片的备份

集群健康状态

  • Green 主分片与副本都正常分配
  • Yellow 主分片全部正常分配,有副本分片未能正常分配
  • Red 有主分片未能分配