elasticsearch shield 认证的两种方式(http/java api)

安装shield

第一步 install shield

 1.  bin/plugin install license
 2.  bin/plugin install shield

第二步 restart elasticsearch

 1. ps -ef | grep elastic
 2. kill -9 xxxx
 3. bin/elasticsearch

第三步 add admin

1. bin/shield/esusers useradd adminName -r admin

然后输入 两次密码

下面说下 http 认证:

说明:我用的是 httpClient 发的post 请求 主要代码如下:

httpClient.getState().setCredentials(new AuthScope(host,ip),
                new UsernamePasswordCredentials(clusterusername,clusterpasswd));
        PostMethod postMethod = new PostMethod(url);
        postMethod.setRequestEntity(new StringRequestEntity(param,contentType,charset));
            resNum = httpClient.executeMethod(postMethod);

java api 认证 :

一 如果是maven 项目 直接引入shield jar

<repositories>
      <!-- add the elasticsearch repo -->
      <repository>
         <id>elasticsearch-releases</id>
         <url>https://maven.elasticsearch.org/releases</url>
         <releases>
            <enabled>true</enabled>
         </releases>
         <snapshots>
            <enabled>false</enabled>
         </snapshots>
      </repository>
   </repositories>
<dependency>
      <groupId>org.elasticsearch.plugin</groupId>
      <artifactId>shield</artifactId>
      <version>2.3.5</version>
    </dependency>

第二 修改settings

import org.elasticsearch.shield.ShieldPlugin;

Settings settings = Settings.settingsBuilder()
      .put("cluster.name", "yourclustername")
                   .put("shield.user","clusterusername:passwd")
                   .build();

第三步 修改 client

Client client = TransportClient.builder()
        .addPlugin(ShieldPlugin.class)
                 .settings(settings).build()
                 .addTransportAddress(new      
InetSocketTransportAddress(InetAddress.getByName("yourhost"), 9300));

如有不对的地方,欢迎指正!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值