Solr单机多节点搭建步骤

一、配置java环境
1、检查Java环境:java -version
2。 检测JDK安装包 rpm -qa|grep java
3、卸载openjdk:yum remove openjdk
4、安装新的jdk: yum install java-1.7.0-op默认的安装目录是在: /usr/lib/jvm;
如果找不到:whereis java;
软连接:ls -lrt /usr/bin/java;
ls -lrt /etc/alternatives/java;
5、设置环境变量:vi /etc/profile
在profile文件中添加如下内容
set java environment
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk-1.7.0.191-2.6.15.4.el7_5.x86_64
export CLASS_PATH=.: JAVAHOME/lib/dt.jar: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/tools.jar: JREHOME/libexportPATH= J R E H O M E / l i b e x p o r t P A T H = PATH: JAVAHOME/binexportCLASSPATH=.: J A V A H O M E / b i n e x p o r t C L A S S P A T H = . : JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH

6、注册一下:source /etc/profile;
7、验证:java -version 或者 java(jdk8以上才有javac -version)
二、配置Tomcat
下载tomcat包,解压,启动./startup.sh/关闭./shutdown.sh
三、zookeeper集群安装
CentOS下,
要记得关闭防火墙
wget 网上找个安装网址下载到usr/local/zookeeper下,复制两个,分别把三个改名1,2,3,然后再conf文件下,把zoo-sample.cfg修改为zoo.cfg,里面dataDir修改为usr/local/zookeeper/zookeeper1/data,然后创建data文件,cd data|echo 1>>myid;分别每个文件都修改一次,我是单机仿真集群,然后在每个zoo.cfg文件下添加server.X(myid的值):ip地址:投票端口:选举端口,两个端口互相通信,多机的话,只需要ip不同,其余两个端口相同,单机端口不相同;然后再bin下启动server:./zkserver.sh start
./zkserver.sh status查看状态
it’s not runing,不要着急,把后面添加的三句话ser.x:ip:xx:xx注释掉,再启动,发现是单机模式,就是那三句话出现了问题,必须让程序能找见myid,server.x中的x必须与myid中的数字相等,再启动,发现正常了;
启动不成功的话,用bin/zkServer.sh start-foreground命令启动,能看详细错误信息;要记住最起码启动三个zookeeper服务器,才可以查看状态;
四、solr安装
在tomcat官网,下载solr的包,放在usr/local/solr/下,解压,然后搜索包名.war,放置在tomcat的webapps下,打开一次tomcat,会自动解压成项目,然后把solr/example/lib/ext下的全部jar包以及solr/example/resources下的log4j配置文件全部拷贝到Tom猫webapps/solr/web-inf/lib下,拷贝example/solr到跟目录,改名solrhome,然后配置web.xml文件的标签,按提示把solrhome位置写入,OK,搭建完毕,打开项目,可以访问首页;分词器的话,我个人是将他自带的分词器架包拷贝到web-inf/lib下;
五、接下来搭建solrcloud
首先,启动zookeeper集群,将你的solrhome文件再复制三份,分别将其目录下的solr.xml文件中
<str name="host">${host:192.168.186.128}</str>
<int name="hostPort">${jetty.port:8080}</int>

修改为你的ip地址和tom猫端口,接下来通过solr/example/cloud-scripts/zkcli.sh 命令为:zookeeper1/bin/zkCli.sh -zkhost 192.168.186.128:2181,192.168.186.128:2182,192.168.186.128:2183 -cmd upconfig -confdir /solrhome/collection1/conf -confname myconf上传你的节点信息,然后通过zookeeper/bin/zkCli.sh登录,输入ls命令,显示configs
ls /configs;显示myconfig,ls /myconfig;在下面找到solrconfig.xml和schme.xml文件说明上传成功,接下来在tomcat/bin/catalina.sh文件中查找 JAVA_OPTS= 然后再下面分割线写入JAVA_OPTS=”DzkHost=192.168.186.128:2181,192.168.186.128:2182,192.168.186.128:2183”;
到此打开每个Tom猫,在solr首页会有一个cloud选项,点开之后就会有每个节点的信息;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中连接Solr客户端多节点,可以使用SolrCloud模式进行处理。SolrCloudSolr的分布式模式,它允许将索引数据和查询负载分布到多个Solr节点上。在SolrCloud中,节点可以被视为一个集合,称为“集合”,集合可以包含多个节点。 以下是连接Solr客户端多节点步骤: 1. 配置SolrCloud 首先需要配置SolrCloud,包括创建集合和添加节点。可以使用Solr的命令行工具(如solr create命令)或Solr管理界面来完成此操作。 2. 创建SolrClient对象 在Java代码中,需要创建SolrClient对象来连接SolrCloudSolrClient是Solr的客户端API,它提供了与Solr交互的方法,包括添加文档、查询索引、删除文档等。 可以使用SolrServer类或SolrCloud类来创建SolrClient对象。SolrServer类用于连接单个Solr节点,而SolrCloud类用于连接SolrCloud集合中的多个节点。 3. 指定SolrCloud集合 在创建SolrClient对象时,需要指定SolrCloud集合的名称。这样SolrClient就可以连接到SolrCloud集合中的所有节点。 4. 执行Solr查询 使用SolrClient对象执行Solr查询。SolrClient提供了多种查询方法,包括SolrQuery和SolrParams类。SolrQuery类用于构建查询字符串,SolrParams类用于设置查询参数。 5. 处理查询结果 SolrClient的查询方法返回一个QueryResponse对象,该对象包含查询结果和元数据。可以使用QueryResponse对象获取查询结果并进行处理。 示例代码如下: ```java // 创建SolrClient对象 SolrClient solrClient = new CloudSolrClient.Builder() .withZkHost("localhost:2181") .withCollection("mycollection") .build(); // 构建查询对象 SolrQuery query = new SolrQuery(); query.setQuery("*:*"); // 执行查询 QueryResponse response = solrClient.query(query); // 获取查询结果 SolrDocumentList documents = response.getResults(); for (SolrDocument document : documents) { System.out.println(document); } // 关闭SolrClient对象 solrClient.close(); ``` 在上面的示例中,使用CloudSolrClient类创建SolrClient对象,指定了ZooKeeper的地址和SolrCloud集合的名称。然后构建了一个查询对象,执行查询并获取查询结果。最后关闭SolrClient对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值