elasticsearch 安装使用

   elasticsearch 安装使用

 
Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:
  • 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
  • 实时分析的分布式搜索引擎。
  • 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

 

    安装并运行ES(CentOS7 x64 测试成功)

 

    1.1 安装JDK,需要JDK1.8以上

  java安装请网上找一下,可以输入命令查看对应的jdk版本

java -version

  1.2 下载对应版本的压缩版

到官方网站找到最新的版本,下载
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
解压
tar -xvf elasticsearch-6.6.2.tar.gz

    1.3 启动单节点ES

cd elasticsearch-6.5.2/bin
./elasticsearch

    1.4 测试启动

默认端口是9200,如果返回ES的一些信息说明启动成功
curl 'http://localhost:9200/?pretty'
返回类似
{
    "name": "10.202.xxx.xx:9300",
    "cluster_name": "xxxxx",
    "cluster_uuid": "eWOew3jRR1aeNYW4hMy2Eg",
    "version": {
        "number": "5.4.1",
        "build_hash": "2cfe0df",
        "build_date": "2017-05-29T16:05:51.443Z",
        "build_snapshot": false,
        "lucene_version": "6.5.1"
    },
    "tagline": "You Know, for Search"
}
 

  1.5 Kibana 安装

    Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
    用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
    可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
    Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。
 
下载解压
启动并访问
http://localhost:5601
配置绑定网址
vim /config/kibaba.yml

server.host: "0.0.0.0"
重启
 
 

问题

【1】max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]   
原因:需要设置最大打开文件
解决1:官方的
解决2: 编辑,并加入下面的内容  /etc/security/limits.conf    
* soft nofile 65536        
* hard nofile 131072        
* soft nproc 4096       
* hard nproc 4096   
备注:* 代表Linux所有用户名称(比如 hadoop),保存、退出、重新登录才可生效
 
【2】max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决: 最大虚拟内存太小,修改: /etc/sysctl.conf
vm.max_map_count=655360
执行命令生效
sysctl -p

 

【3】外部无法访问
解决:默认没有绑定IP,需要配置可以IP访问
network.host: 0.0.0.0
 
CentOS防火墙
#临时关闭,重启会开启
systemctl stop firewalld.service
#禁用,重启也不会启动
systemctl disable firewalld.service

 

 
 

DSL

 
3.1 查询所有
{
    "query": {
        "match_all": {}
    }
}

 

3.2 聚合aggs
terms  //分类聚合
sum //求和
    "aggs":{
        "passZoneCode_list":{ //名字随便起
            "terms":{ //分类聚合
                "field":"passZoneCode", //统计的字段
                "size":200
            },
            "aggs":{
                "planArriveVotes_sum":{//名字随便起
                    "sum":{ //求和
                        "field":"planArriveVotes" //统计的字段
                    }
                }
            }
        }
    }

 

 
 
 
下一次将会写一下ES的Java api的连接客户端
 
 
 
 
 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据