Solr / CDH 下启用kerberos 开启http 权限验证的solrj开发
2016-06-24 10:13
661 查看
前提:最近用的CDH 下solr的高可用查询,由于开启了kerberos必须要http权限验证。而且必须采用solrj的CloudSolrServer。在研究一天之后,找到可行方案。直接上干货,希望后来者有所帮助。
参考文献: https://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java http://stackoverflow.com/questions/21696651/java-http-authentification- 401-error-with-httpclient-library http://wiki.apache.org/solr/LBHttpSolrServer
@Test public void TestSolrServer() throws Exception { System.out.println("---------------------------------------------------"); try { DefaultHttpClient client = new DefaultHttpClient(); //采用拦截器加权限验证 client.addRequestInterceptor(new HttpRequestInterceptor() { @Override public void process(HttpRequest request, HttpContext context) throws HttpException, IOException { String enc = "app1" + ":" + "bdap123"; request.addHeader("Authorization", "Basic " + Base64.encodeBase64String(enc.getBytes())); } }); //采用robin环方式负载 LBHttpSolrServer server = new LBHttpSolrServer(client, "http://172.16.236.2:8983/solr/collection1_shard1_replica1"); CloudSolrServer cserver=new CloudSolrServer("172.16.236.2:2181", server); SolrQuery query = new SolrQuery(); query.setQuery("*.*"); SolrDocumentList docs = cserver.query(query).getResults(); for (SolrDocument sd : docs) { System.out.println(sd.getFieldValue("features")); } } catch (RuntimeException e) { System.out.println(e.getMessage()); Thread.sleep(10000); } }
参考文献: https://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java http://stackoverflow.com/questions/21696651/java-http-authentification- 401-error-with-httpclient-library http://wiki.apache.org/solr/LBHttpSolrServer
相关文章推荐
- 在Eclipse中运行Solr 基础知识
- Solr 5.3.0集成mmseg4j、tomcat部署、Solrj 5.3.0使用
- Solr基础--设置solr/home的三种方式
- windows下安装solr5.5.0
- Docker使用supervisor构建solr
- solr4.0安装和简单导入mysql数据
- Solr 4.0 基础教程
- 自译Solr in action中文版
- Solr In Action 中文版 第一章(一)
- Solr In Action 中文版 第一章 (二)
- Solr In Action 中文版 第一章(三)
- solr搜索引擎使用
- 基于solr实现hbase的二级索引
- 基于Nutch&Solr定向采集解析和索引搜索的整合技术指南文档
- 基于Nutch&Solr定向采集解析和索引搜索的整合技术指南文档
- kerberos的故事1
- kerberos的故事2
- Tomcat/Solr4.3.1 配置过程
- 详解Linux运维工程师高级篇(大数据安全方向) 推荐
- WSFC CNO与VCO误删恢复