干货 | 配置安装ElasticSearch

干货 | 配置安装ElasticSearch

首先ElasticSearch是基于Lucene这个非常成熟的索引方案,另加上一些分布式的实现:集群,sharding,replication等。

ElasticSearch的优势

  1. 横向可扩展性:只需要增加一台服务器,做一点儿配置,启动一下ES进程就可以并入集群;
  2. 分片机制提供更好的分布性:同一个索引分成多个分片(sharding),这点类似于HDFS的块机制;分而治之的方式来提升处理效率,相信大家都不会陌生;
  3. 高可用:提供复制(replica)机制,一个分片可以设置多个复制,使得某台服务器宕机的情况下,集群仍旧可以照常运行,并会把由于服务器宕机丢失的复制恢复到其它可用节点上;这点也类似于HDFS的复制机制(HDFS中默认是3份复制);

ElasticSearch的配置安装

可以使用源码,或者yum

一、yum安装

  1. 下载并安装GPG key

  2. [[email protected] ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
    
  3. 2.添加yum仓库
    
  4. [[email protected] ~]# cat /etc/yum.repos.d/elasticsearch.repo
    
  5. [elasticsearch-2.x]
    
  6. name=Elasticsearch repository for 2.x packages
    
  7. baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
    
  8. gpgcheck=1
    
  9. gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
    
  10. enabled=1

  11. 3.安装elasticsearch

  12. [[email protected] ~]# yum install -y elasticsearch

二、源码安装

  1. [[email protected] home]# wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.2.tar.gz   #下载elasticsearch
    
  2. [[email protected] home]# tar xf elasticsearch-1.7.2.tar.gz -C /usr/local/    #解压elasticsearch
    
  3. [[email protected] home]# ln -s /usr/local/elasticsearch-1.7.2 /usr/local/elasticsearch    #创建软连接
    

三、配置elasticsearch

  1. 修改配置文件
    
  2. [[email protected] ~]# vim /etc/elasticsearch/elasticsearch.yml
    
  3. cluster.name: myes             #ES集群名称
    
  4. node.name: abcdocker-node-1   #节点名称
    
  5. path.data: /data/es-date       #数据存储的目录(多个目录使用逗号分隔)
    
  6. path.logs: /var/log/elasticsearch #日志格式
    
  7. bootstrap.memory_lock: true   #锁住es内存,保证内存不分配至交换分区
    
  8. network.host: 192.168.56.11   #设置本机IP地址
    
  9. http.port: 9200            #端口默认9200
    

四、设置数据目录权限

  1. [[email protected] ~]# chown -R elasticsearch:elasticsearch /data/es-date/
    
  2. #这个是我们存放数据的目录,手动创建
    

es默认发现有组播和单播,组播就是都加入到一个组里面,单播就是一对一通信

提示: yum安装时会少了许多配置,如果编译安装就会产生很多。

五、启动

1、启动es

2、[[email protected] ~]# systemctl start elasticsearc h.service

3、[[email protected] ~]# netstat -lntup

4、Active Internet connections (only servers)

5、Proto Recv-Q Send-Q Local Address Foreig n Address State PID/Program name

6、tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 532/ssh d

7、tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 724/maste r

8、tcp6 0 0 192.168.56.11:9200 ::? LISTEN 2125/jav a

9、tcp6 0 0 192.168.56.11:9300 ::? LISTEN 2125/jav a

10、tcp6 0 0 :::22 ::? LSTEN 532/sshd

11、tcp6 0 0 ::1:25 :::*LISTEN 724/master

12、端口默认:9200

本次环境我们使用2台服务器,这2台服务器的服务搭建可以跟上面的步骤相同即可

Elasticsearch提供了非常多的插件,还可以使用curl进行通讯

我们可以使用curl来查看es里面有什么内容

  1. [[email protected] ~]# curl  -i -XGET                             'http://192.168.56.11:9200/_count?'
    
  2. HTTP/1.1 200 OK
    
  3. Content-Type: application/json; charset=UTF-8
    
  4. Content-Length: 59
    
  5. {"count":0,"_shards":{"total":0,"successful":0,"failed":0}}[
    
  6. 解释:
    
  7. 返回头部200,执行成功0个,返回0个
    

加Java架构师进阶交流群获取Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限 都是大牛带飞 让你少走很多的弯路的 群号是:883922439 对了 小白勿进 最好是有开发经验
注:加群要求

1、具有工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。

3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。

4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。

5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!