zoukankan      html  css  js  c++  java
  • mac以及centos下安装Elasticsearch 以及权限管理插件

    Elasticsearch安装(提前系统需要安装java环境)
    mac安装 brew install elasticsearch
    centos安装
    下载ElasticSearch安装包,https://www.elastic.co/downloads/elasticsearch

    运行下面命令将安装包移动到 /opt 目录,然后转到 opt 目录
    mv elasticsearch-2.3.5.tar.gz /opt ; cd /opt
    解压安装包,然后重命名为 elasticsearch
    tar zxvf elasticsearch-2.3.5.tar.gz
    mv elasticsearch-2.3.5 elasticsearch
    进入elasticsearch/bin下运行elasticsearch脚本启动
    cd elasticsearch/
    ./bin/elasticsearch
    如果是用root账号启动,会报以下错误
    Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at
    org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at
    org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:285) at
    org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) Refer to the log for complete error details.
    这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,
    建议创建一个单独的用户用来运行ElasticSearch

    创建elsearch用户组及elsearch用户
    groupadd elsearch
    useradd elsearch -g elsearch -p elasticsearch
    更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
    cd /opt
    chown -R elsearch:elsearch  elasticsearch
    切换到elsearch用户再启动
    su elsearch cd elasticsearch/bin
    ./elasticsearch
    ElasticSearch后端启动命令
    ./elasticsearch -d
    安装后发现es以localhost可以访问,但是以本地ip却无法访问提示connection refused
    打开elasticsearch.yml  修改network.host 为 network.host:0.0.0.0
    注:如果启动时遇到下面类似的错误,可能是插件没有安装成功,删除plugins目录下的插件或者从新安装就可以了
    Exception in thread "main" java.lang.IllegalStateException: Could not load plugin descriptor for existing plugin [mavel]. Was the plugin built before 2.0?
    Likely root cause: java.nio.file.NoSuchFileException: /usr/local/elasticsearch-2.3.5/plugins/mavel/plugin-descriptor.properties
            at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
            at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
            at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
            at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
            at java.nio.file.Files.newByteChannel(Files.java:361)
            at java.nio.file.Files.newByteChannel(Files.java:407)
            at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
            at java.nio.file.Files.newInputStream(Files.java:152)
            at org.elasticsearch.plugins.PluginInfo.readFromProperties(PluginInfo.java:87)
            at org.elasticsearch.plugins.PluginsService.getPluginBundles(PluginsService.java:378)
            at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:128)
            at org.elasticsearch.node.Node.<init>(Node.java:158)
            at org.elasticsearch.node.Node.<init>(Node.java:140)
            at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:143)
            at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:178)
            at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
            at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
    Refer to the log for complete error details.
    安装Elasticsearch-Head 可视化插件
    进入到elasticsearch安装目录
    如mac下 cd /usr/local/opt/elasticsearch@2.4/libexec/
    然后执行
    ./bin/plugin install mobz/elasticsearch-head

    shield权限管理插件

    1.安装shield
    bin/plugin install license
    bin/plugin install shield
    2.重启es
    bin/elasticsearch
    3.添加管理员
    bin/shield/esusers useradd adminName -r admin
    adminName是可以自定义的,执行该命令以后会提示输入密码,再次输入密码进行确认,之后管理员用户就添加成功了。

    接下来访问es就需要输入账号密码了
    也可以直接访问(php里面直接用这个地址就可以了) http://用户名:密码@127.0.0.1:9200/

    shield用户管理
    增加用户
    增加用户:bin/shield/esusers useradd <username>
    增加用户同时设置密码:bin/shield/esusers useradd <username> -p <secret>
    增加用户同时设置角色:bin/shield/esusers useradd <username> -r <comma-separated list of role names>

    查询用户
    bin/shield/esusers list

    管理密码
    bin/shield/esusers passwd <username> -p <password>

    用户分配角色
    用-a增加角色,-r删除角色。
    bin/shield/esusers roles <username> -a <commma-separate list of roles> -r <commma-separate list of roles>

    删除用户
    bin/shield/esusers userdel <username>
  • 相关阅读:
    Mac OS X下Maven的安装与配置
    [MAC Eclipse] Eclipse for MAC 中文乱码的解决办法
    The type javax.servlet.http.HttpServletRequest cannot be resolved.
    IOS基础:深入理解Objective-c中@class的含义
    NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
    真机测试时的错误:No matching provisioning profiles found
    转帖Jmeter中的几个重要测试指标释义
    Spring集成log4j日志管理
    Log4J日志配置详解
    使用Redis的理由
  • 原文地址:https://www.cnblogs.com/whlives/p/7417044.html
Copyright © 2011-2022 走看看