solrj 测试连接 6.6.5solr集群
我开始环境是
linux上是6.6.5 pom也是6.6.5
按照学习视频的demo,他用的是4点几的solr,我换成了6点几的,没有CloudSolrServer 只有CloudSolrClient
然后看源码的构造方法,写出了第一版
- @Test
- public void testAddDocument() throws Exception {
- //创建一个集群的连接,应该使用CloudSlorServer创建
- CloudSolrClient cloudSolrClient = new CloudSolrClient("192.168.25.134:2181,192.168.25.134:2182,192.168.25.134:2183");
- //zkHost:zookeeper的地址列表
- //设置一个defaultCollection属性
- cloudSolrClient.setDefaultCollection("collection2");//Solr管理界面Graph的那个collection
- //创建一个文档对象
- SolrInputDocument document = new SolrInputDocument();
- //向文档中添加域
- document.setField("id", "solrcloud01");
- document.setField("item_title", "测试商品01");
- document.setField("item_price", );
- //把文档写入索引库
- cloudSolrClient.add(document);
- //提交
- cloudSolrClient.commit();
- cloudSolrClient.close();
- }
- java.lang.NoClassDefFoundError: Could not initialize class org.slf4j.MDC
- at org.apache.solr.common.SolrException.<init>(SolrException.java:)
- at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:)
- at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:)
- at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:)
- at org.apache.solr.common.cloud.ZkStateReader.<init>(ZkStateReader.java:)
- at org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider.connect(ZkClientClusterStateProvider.java:)
- at org.apache.solr.client.solrj.impl.CloudSolrClient.connect(CloudSolrClient.java:)
- at org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:)
- at org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:)
- at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:)
- at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:)
- at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:)
- at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:)
- at com.fighting.solrj.TestSolrCloud.testAddDocument(TestSolrCloud.java:)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
- at java.lang.reflect.Method.invoke(Method.java:)
- at org.junit.runners.model.FrameworkMethod$.runReflectiveCall(FrameworkMethod.java:)
- at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:)
- at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:)
- at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:)
- at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:)
- at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:)
- at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:)
- at org.junit.runners.ParentRunner$.run(ParentRunner.java:)
- at org.junit.runners.ParentRunner$.schedule(ParentRunner.java:)
- at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:)
- at org.junit.runners.ParentRunner.access$(ParentRunner.java:)
- at org.junit.runners.ParentRunner$.evaluate(ParentRunner.java:)
- at org.junit.runners.ParentRunner.run(ParentRunner.java:)
- at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:)
- at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:)
- at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:)
- at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:)
- at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:)
- at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:)
报错,说是slf4j的错误,然后百度,只有stackoverflow的两个链接 ,而且没有解决方法
而且我也感觉不是slf4j的问题
然后继续百度 看看有没有其他方法
第二版
- @Test
- public void testAddDocument() throws Exception {
- //创建一个集群的连接,应该使用CloudSlorServer创建
- //CloudSolrClient cloudSolrClient = new CloudSolrClient("192.168.25.134:2181,192.168.25.134:2182,192.168.25.134:2183");
- List<String> zkHosts = new ArrayList<String>();
- zkHosts.add("192.168.25.134:2181");
- zkHosts.add("192.168.25.134:2182");
- zkHosts.add("192.168.25.134:2183");
- CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder().withZkHost(zkHosts).build();
- //zkHost:zookeeper的地址列表
- //设置一个defaultCollection属性
- cloudSolrClient.setDefaultCollection("collection2");//Solr管理界面Graph的那个collection
- //创建一个文档对象
- SolrInputDocument document = new SolrInputDocument();
- //向文档中添加域
- document.setField("id", "solrcloud01");
- document.setField("item_title", "测试商品01");
- document.setField("item_price", );
- //把文档写入索引库
- cloudSolrClient.add(document);
- //提交
- cloudSolrClient.commit();
- cloudSolrClient.close();
- }
还是上面那个报错
然后看了搜了搜开源项目 也没用连接集群的
网上只有一个版本是7.4.0 的
linux上solr集群的环境没变,把pom中solrj的版本给为7.4.0
使用他的方法
- //创建一个集群的连接,应该使用CloudSlorServer创建
- //CloudSolrClient cloudSolrClient = new CloudSolrClient("192.168.25.134:2181,192.168.25.134:2182,192.168.25.134:2183");
- List<String> zkHosts = new ArrayList<String>();
- zkHosts.add("192.168.25.134:2181");
- zkHosts.add("192.168.25.134:2182");
- zkHosts.add("192.168.25.134:2183");
- Optional<String> zkChroot = Optional.of("/");
- //CloudSolrClient cloudSolrClient = new CloudSolrClient.Builder().withZkHost(zkHosts).build();
- Builder builder = new CloudSolrClient.Builder(zkHosts, zkChroot);
- CloudSolrClient cloudSolrClient = builder.build();
- //zkHost:zookeeper的地址列表
- //设置一个defaultCollection属性
- cloudSolrClient.setDefaultCollection("collection2");//Solr管理界面Graph的那个collection
- //创建一个文档对象
- SolrInputDocument document = new SolrInputDocument();
- //向文档中添加域
- document.setField("id", "solrcloud01");
- document.setField("item_title", "测试商品01");
- document.setField("item_price", 123);
- //把文档写入索引库
- cloudSolrClient.add(document);
- //提交
- cloudSolrClient.commit();
- cloudSolrClient.close();
没报错 查询也有数据了
solrj 测试连接 6.6.5solr集群的更多相关文章
- 使用SolrJ客户端管理SolrCloud(Solr集群)
1.使用SolrJ客户端管理SolrCloud(Solr集群). package com.taotao.search.service; import java.io.IOException; impo ...
- Pentaho Kettle 6.1连接CDH5.4.0集群
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 欢迎转载 最近把之前写的Hadoop MapReduce程序又总结了下,发现很多逻辑基本都是大致相同的,于是想到 ...
- 搭建和测试 Redis 主备和集群
本文章只是自我学习用,不适宜转载. 1. Redis主备集群 1.1 搭建步骤 机器:海航云虚机(2核4GB内存),使用 Centos 7.2 64bit 操作系统,IP 分别是 192.168.10 ...
- YCSB测试HBase远程完全分布式集群
写在前面 本文只讲一个很简单的问题,YCSB对HBase集群的测试.虽然网上有很多介绍YCSB测试HBase的文章,但都是针对本地HBase伪分布式集群的.大家都知道,稍微正式一些的压测都会要求测试客 ...
- 测试环境docker化—容器集群编排实践
本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...
- 腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群
总结记录/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,70 ...
- python连接redis,redis集群
python连接redis: import redis r = redis.Redis(host='192.168.50.181',port=6002) r.set('user_phone_14900 ...
- 使用Hbase快照将数据输出到互联网区测试环境的临时Hbase集群
通过snapshot对内网测试环境Hbase生产集群的全量数据(包括原始数据和治理后数据)复制到互联网Hbase临时集群.工具及原理: 1) Hbase自带镜像导出工具(snapsho ...
- 云原生 PostgreSQL - CrunchyData PGO 教程:创建、连接、删除 Postgres 集群
入门 作为安装的一部分,请确保您已完成以下操作: 分叉 Postgres Operator 示例存储库并将其克隆到您的主机. https://github.com/CrunchyData/postgr ...
随机推荐
- 删除oracle数据库用户
手工删除ORACLE数据库用户时常会出现会话进程仍在使用导致删除失败的情况.需要查询会话并将会话删除才能成功将数据库用户删除,比较不方便. 适用场景 自动删除oracle数据库用户 基本知识 orac ...
- MySQL错误[ERR] 1064 - You have an error in your SQL syntax;
MySQL打开创建函数的开关, 查询创建函数开关是否打开: show variables like '%func%'; 打开创建函数开关: ; 关闭创建函数开关: ;
- (转)Python新手写出漂亮的爬虫代码1——从html获取信息
https://blog.csdn.net/weixin_36604953/article/details/78156605 Python新手写出漂亮的爬虫代码1初到大数据学习圈子的同学可能对爬虫都有 ...
- java程序员到底该不该了解一点算法(一个简单的递归计算斐波那契数列的案例说明算法对程序的重要性)
为什么说 “算法是程序的灵魂这句话一点也不为过”,递归计算斐波那契数列的第50项是多少? 方案一:只是单纯的使用递归,递归的那个方法被执行了250多亿次,耗时1分钟还要多. 方案二:用一个map去存储 ...
- 关于CSS中的浮动
在页面布局中我们经常会用到浮动的布局,浮动元素会影响到后面页面的布局效果.例如下面: .box{ background: yellow; float: left; } .box2{ width: 20 ...
- Promise 学习
参考 https://www.jianshu.com/p/43f948051d65 // Promise里面传入一个函数类型的参数,这个函数类型的参数接收两个参数resolve reject var ...
- 跨年操作--new Date()
//时间在2017/12/31 17:00 --- 2018/1/1 06:00区间,提示用户无法操作公告. //time.js (function(){ var date = new Date(); ...
- 启动 idea 编译报错 kotlin
怀疑是插件问题. 重新删除了. C:\Users\user 里面inteliJIdea2018.3 缓存 ,解决
- 微擎框架下拉分页(使用js模板引擎)
1.需要分页的页面,引入一下文件 <script language="javascript" src="\addons\{$_GPC['m']}\template\ ...
- appium的兼容问题
appium 和Android7.0的兼容问题 标签(空格分隔): appium 随着Android系统的不断的迭代更新,目前Android系统都已经更新到9.0系统了,有些小伙伴appium版本还是 ...