SolrCloud Hello Word

9 篇文章 0 订阅

Solr Cloud 设计出来的目的是使你的搜索服务具有更高的可用性,提高容错、容灾能力。下面我们在一台电脑上建立2个solr服务,作为一个solrCloud分片(shard),初步认识一下solrCloud。SolrCloud使用zoo_keeper作为集群管理工具,本例中,我们使用solr发布包内嵌的zoo_keeper。

一、准备工作

建立一个solr_home目录,我建在D盘根目录,D:\solr_home。

把solr发布包中的contrib、dist文件夹全部复制到solr_home下面。

复制solr发布包中的example文件夹到solr_home,重命名为node1。

复制solr发布包中的example文件夹到solr_home,重命名为node2。

最终目录结构如下图:

二、启动服务

1、  启动node1节点

打开一个命令行窗口,进入D:\solr_home\node1目录,输入如下命令,回车便可以cloud模式启动node1:

java -DzkRun -DnumShards=2 -Dbootstrap_confdir=./solr/collection1/conf
-Dcollection.configName=myconf -jar start.jar

参数说明:

-DzkRun:启动solr内嵌的ZooKeeper服务。这个服务将用来管理集群组态。注意,这个例子是在单台物理计算机上进行的实验;当你应用到生产环境的时候,就需要在整个架构中使用多个zooKeeper服务或者是个独立的ZooKeeper服务,而不是把solr内嵌的ZooKeeper用到你的生产环境。

-DnumShards:这个参数指明你打算把你的一个索引分成多少片。这个例子中,我们把它分成2片。注意,一旦你启动了集群,这个分片参数将不允许被改变。如果以后你需要更多的分片,那么现在你就多配几个(多个分片将能够在同一个服务上启动,以后可以迁移到不同的服务器上去)。

-Dbootstrap_confdir:ZooKeeper需要复制一份集群的配置文件,这个参数就是告诉ZooKeeper去哪里找该配置文件。

-Dcollection.configName:给保存到ZooKeeper下的配置文件取个名字,这个例子中我们命名为“myconf”,随便取,叫什么名字都行。

2、  启动node2节点

Node1启动了,只得到了我们定义的分片集的一半,把node2启动起来才是我们定义的一个完整的集群。新打开一个命令行窗口,进入D:\solr_home\node2目录,输入如下命令,回车,启动node2:

java -Djetty.port=7574 -DzkHost=localhost:9983 -jar start.jar

参数说明:

-Djetty.port:设置这个参数的原因是我们在同一台计算机上运行服务,不能使用Jetty的默认端口了,默认端口已经被node1占了,随便选一个和默认端口不一样的端口。当在不同的计算机上启动的时候,也可以使用一样的端口。

-DzkHost:这个参数告诉solr去哪里找ZooKeeper服务,默认情况下,ZooKeeper服务工作在solr端口加1000的那个端口上。Solr默认端口是8983,那么ZooKeeper的服务端口就是9983.

 

三、查看结果

在浏览器里面输入:

http://localhost:8983/solr/#/~cloud

在左边菜单中有个Cloud,说明我们的solrCloud已经配置正确了。右图中我们看到shard1分片下面有刚刚配置的2个solr服务节点。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!输出“Hello World”的代码如下: print("Hello World") 如果您是在 Python 中运行这段代码,则会在控制台中输出“Hello World”。 注意:使用 print() 函数输出文本的方式取决于您使用的编程语言。 在 Python 中,您可以使用 print() 函数来输出文本,但是在其他编程语言中,可能需要使用不同的方法。 ### 回答2: 输出"hello word"可以使用很多编程语言来实现。以下是使用Python编程语言的示例代码: ```python print("hello word") ``` 该代码通过`print`函数在控制台打印出"hello word"。在Python中,`print`函数用于将指定的字符串或其他类型的数据输出到控制台。 这段代码会在控制台输出: ``` hello word ``` 无论以何种编程语言实现,结果都会是同样的,输出"hello word"。这是一个常用的示例,通常用来测试编程语言的输出功能或者作为学习编程的初级练习。 ### 回答3: 输出"hello word"可以使用各种编程语言来实现。例如,使用Python可以如下输出: ``` print("hello word") ``` 使用Java可以如下输出: ``` public class HelloWorld { public static void main(String[] args) { System.out.println("hello word"); } } ``` 使用C++可以如下输出: ``` #include <iostream> using namespace std; int main() { cout << "hello word" << endl; return 0; } ``` 使用JavaScript可以如下输出: ``` console.log("hello word"); ``` 不同的编程语言有不同的输出语句,但基本思路都是打印或输出字符串“hello word”。这只是一些常见的示例,实际上可以使用更多的编程语言来实现这个输出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值