zoukankan      html  css  js  c++  java
  • Elasticsearch使用记录

    Elasticsearch使用记录

    Elasticsearch的搭建方法


    1.RPM方式搭建
    首先去官网[https://www.elastic.co/downloads/elasticsearch#ga-release]
    下载最新的ES RPM安装包,下载下来之后,直接执行rpm -ivh elasticsearch.rpm就可以了
    Es进程已经可以用systemctl服务去启动了,sysatemctl start elasticsearch.
    你需要记住一点,Es需要java环境的支持,先检查有没有java环境,没有的话需要下载jre去启动它。


    2.源码包搭建
    首先去官网[https://www.elastic.co/downloads/elasticsearch#ga-release]下载最新版的安装包elasticSearch-6.3.2.tar.gz
    解压包:

    tar -xvf elasticsearch-6.3.2.tar.gz
    

    执行如下命令

    #添加用户
    adduser elasticSearch
    passwd elasticSearch 根据提示输入两次密码即可
    #赋予可执行权限
    chown -R elasticSearch@elasticSearch /opt/elasticSearch/
    其中后面的路径是我的解压路径
    

    添加后台自启动方式

    ./bin/elasticsearch -d -p pid
    

    3.注意事项
    这里需要注意,无论你通过哪种方式安装,请打开9200,9300端口,如果你不想你的Es像个自嗨的傻瓜。。。那就按我说的去做:

    firewall-cmd --zone=public --add-port=9200/tcp --permanent
    firewall-cmd --zone=public --add-port=9300/tcp --permanent
    firewall-cmd --zone=public --add-port=9100/tcp --permanent
    firewall-cmd --reload
    

    原理就是9200和9300这两个端口是es启动时默认分配的,9200是对外服务端口,外部所有的API请求都是通过这个端口和es服务器通信的,9300是集群间的通信端口,集群中的各个节点就是通过这个端口来发现当前节点并组成集群的。明白?

    Es的系统参数配置


    在Es中,最重要的就是参数配置,这个决定了Es集群或者是节点的性质,性能等。所以,在这里,我会贴出我的节点配置,大家自己参考。
    Es的配置文件默认是

    /etc/elasticsearch/elasticsearch.yml
    

    我的配置如下:

    # Es集群名
    cluster.name: Es_test
    # Es节点名
    node.name: es_node1
    # 是否有资格被选为主节点(很重要,决定身份,默认true)
    node.master:true
    # 决定节点是否存放数据(很重要,同上)
    node.data:true
    # 设置默认索引分片个数,默认为5片。
    index.number_of_shards:5
    # 设置默认索引副本个数,默认为1个副本。
    index.number_of_replicas:1
    # Es对外开放的Ip
    network.host: 10.0.6.244
    # Es对外开放的端口
    http.port: 9200
    # 集群内各节点通信端口 
    transport.tcp.port: 9300
    # Es集群包含的节点IP
    discovery.zen.ping.unicast.hosts: ["10.0.6.244"]
    # 这个参数很重要,一般的取值规则是master.node/2+1,可以防止脑裂的情况发生
    discovery.zen.minimum_master_nodes: 1
    # 是安装head插件锁需要的
    http.cors.enabled: true
    # 同上
    http.cors.allow-origin: "*"
    # 打开本地localhost 的访问权限,很重要
    network.bind_host: "::"
    # 数据存放位置
    path.data: /var/lib/elasticsearch
    # 日志存放位置
    path.logs: /var/log/elasticsearch
    

    这里只是简单配置,这样基本就可以跑起来。


    Es的一些常用命令

    查看Es的状态:

    curl -XGET "http://127.0.0.1:9200/"
    

    查看集群健康:

    curl -XGET "http://127.0.0.1:9200/_cluster/health?pretty"
    

    查看集群现有的index:

    curl -XGET "http://127.0.0.1:9200/_cat/shards"
    

    查看集群列表

    curl http://127.0.0.1:9200/_cat/nodes?v
    

    创建一个index

    curl -XPUT http://127.0.0.1:9200/user?pretty
    

    添加一个doc

    curl -H "Content-Type: application/json" -XPUT http://127.0.0.1:9200/message/external/1?pretty -d '{"name":"lisg"}'
    

    查询一个doc

    curl -H "Content-Type: application/json" -XGET http://127.0.0.1:9200/message/external/1?pretty
    

    删除一个doc

    curl -H "Content-Type: application/json" -XDELETE http://127.0.0.1:9200/message/external?pretty
    
  • 相关阅读:
    占位
    JavaScript(13):用jQuery实现复选框的全、反、取选
    JavaScript(12):jQuery(1)
    JavaScript(11):词法分析
    JavaScript(10):行为(HTML)、结构(CSS)、样式(JS)相分离的页面
    JavaScript(9):非常规form表单提交、弹出框、URL和刷新、定时器
    JavaScript(8):搜索框示例实现、样式操作、属性操作、标签操作
    JavaScript(7):DOM直接查找与间接查找的补充
    JavaScript(6):作用域、面向对象
    开篇杂谈
  • 原文地址:https://www.cnblogs.com/Yemilice/p/10007207.html
Copyright © 2011-2022 走看看