zoukankan      html  css  js  c++  java
  • Lucene 学习-安装 Elasticsearch 服务器

    全文搜索属于最常见的需求,开源的 Elasticsearch 是目前全文搜索引擎的首选,它的底层是开源库 Lucene。但是我们没法直接使用 Lucene,必须自己写代码去调用它的接口。

    Elasticsearch 是 Lucene 的封装,提供了 REST API 的操作接口,非常方便。

    一、安装 Java 8

    Elasticsearch 需要 Java 8 的环境。

    如果还没安装,请参考:

    http://blog.csdn.net/justdoit_potato/article/details/77962670

    二、安装 Elasticsearch 

    1. 下载压缩包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.zip

    2. 解压

    unzip elasticsearch-6.0.1.zip

    3. 启动

    ./elasticsearch-6.0.1/bin/elasticsearch

    启动时可能报错:不允许 root 用户运行

    解决办法:

    1. 创建新用户

    adduser [user]

    2. 给新用户赋予权限

    chown -R [user] [elasticsearch安装目录]

    3. 切换到新用户

    su [user]

    完成。

    三、远程访问

    默认情况下,elasticsearch 只允许本机访问,如果需远程访问。

    1. 打开配置文件

    vim elasticsearch-6.0.1/config/elasticsearch.yml

    2. 将 network.host 配置去掉注释,值改为 0.0.0.0(建议改为具体的客户端IP)

    network.host: 0.0.0.0

    3. 改完后可能会无法启动,报错:

    解决办法:

    1. sysctl.conf 配置文件

    vi /etc/sysctl.conf

    增加或修改配置

    fs.file-max=655350 
    vm.max_map_count=655360

    保存后设置生效

    // 使生效
    sysctl -p

    2. limits.conf 配置文件

    vim /etc/security/limits.conf

    增加配置

    * soft nofile 655350
    * hard nofile 655350

    4. 修改防火墙

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

    5. 重新登录 SSH,再次尝试启动 elasticsearch。

    切换到非 root 用户。

    启动:

    ./elasticsearch-6.0.1/bin/elasticsearch

    或 守护线程启动:

    ./elasticsearch-6.0.1/bin/elasticsearch -d

    6. 测试

    浏览器打开:http://ip:9200/

    输出:

    四、集群

    1. 在本机上创建第二个实例:

    切换到非 root 用户,在 elasticsearch 目录下创建 data1 文件夹后,执行命令:

    ./bin/elasticsearch -Ehttp.port=8200 -Epath.data=/.../elasticsearch-6.0.1/data1

    这条命令会覆盖配置文件中的参数。

    2. 查看是否启动成功

    浏览器访问:http://ip:8200

    如果正确输出配置信息,表示启动成功。

     

    3. 如何查看新创建的节点是否加入集群

    浏览器访问:http://ip:8200/_cat/nodes?v

    可以看到,出现两条节点信息。

    master 的 * 号表示当前节点信息表示主实例。

    五、常用命令

    // 查看当前节点的所有Index
    _cat/indices
    // 查看当前Index的所有Type
    _mapping?pretty=true
    // 新建Index
    PUT weather
    // 删除Index
    DELETE weather
  • 相关阅读:
    js添加和删除class
    GIT回滚master分支到指定tag版本
    table添加正确的样式
    iframe父页面与子页面赋值
    关于日期转换
    vue-cli脚手架安装
    npm手册
    linear-gradient常用实现效果
    【转载】说说JSON和JSONP,也许你会豁然开朗,含jQuery用例
    雷霄骅走了
  • 原文地址:https://www.cnblogs.com/libra0920/p/8007560.html
Copyright © 2011-2022 走看看