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>
 posted on 2017-08-23 10:50  whlives  阅读(607)  评论(0编辑  收藏  举报