solr单机环境配置并包含外部单机zookeeper

  首先和之前一样下载solr-5.3.1.tgz,然后执行下面命令释放文件并放置在/usr/目录下:

$ tar -xvzf solr-5.3.1.tgz
$ mv solr-5.3.1 /usr/
$ cd /usr/solr-5.3.1

   这个时候先不用启动solr,因为单机模式下为了和之前保持通用仍然使用外部zookeeper,只是zookeeper也是以单机模式运行,此时和之前一样下载zookeeper,然后释放到指定目录,操作如下:

$ mkdir /usr/zookeeper
$ tar -xzvf zookeeper-3.4.6.tar.gz
$ mv zookeeper-3.4.6 /usr/zookeeper
$ cd /usr/zookeeper/zookeeper-3.4.6

  现在就完成了释放,然后编译conf目录下的zoo.cfg配置文件,默认文件名称是zoo_sample.cfg需要进行重命名操作,执行下面命令:

$ mv conf/zoo_sample.cfg conf/zoo.cfg
$ vim conf/zoo.cfg

  打开之后,可以看到有很多配置信息,根据官方文档说明,其他的都默认即可,只是修改dataDir数据存放目录这一项,默认是/tmp/zookeeper,为了统一存放,这里修改为/usr/zookeeper/data

  

  然后新添加一行配置,设置zookeeper日志目录:dataLogDir=/usr/zookeeper/log,这一项根据情况配置即可

  修改完成保存退出,然后创建数据目录和日志目录:

mkdir /usr/zookeeper/data && mkdir /usr/zookeeper/log

  创建目录后,就可以启动zookeeper了,

bin/zkServer.sh start

  启动zookeeper服务之后,然后进入solr的安装目录,使用集群方式启动,只是是伪集群的方式,根据官方文档说明启动方式如下:

bin/solr start -e cloud -z localhost:2181 -noprompt

  稍等一会solr正常启动,默认情况下启动端口是8983和7574,但是如果7574不可用的时候只启动8983端口,这样不影响使用,我们也可以手动添加另外端口到zookeeper服务,这里默认是一个,现在访问url就可以访问到了,现在同样没有任何数据集,接下来上传配置文件:

./server/scripts/cloud-scripts/zkcli.sh -zkhost localhost:2181 -cmd upconfig -confname my_new_config -confdir server/solr/configsets/sample_techproducts_configs/conf

  这样就把配置文件上传到了zookeeper,然后可以建立数据集了,可以通过curl命令或者访问url的方式建立数据集,curl命令如下:

curl "http://localhost:8983/solr/admin/collections?action=CREATE&name=my_collection&numShards=1&replicationFactor=1&collection.configName=my_new_config"

  那么现在就创建了一个名称为my_collection的数据集,使用的配置就是my_new_config,这里注意分片数量numShards和副本数量replicationFactor都只能为1,因为节点只有一个,所以也都只能分布在一个节点上,如果此时开启了8983和7574两个端口,那么就可以创建2个分片了;好了,这个时候通过点击管理界面的Cloud->Graph就可以查看建立数据集的结构了

  

  开启2个端口时:

  

  这里创建了多个collection,现在可以向solr中添加索引和进行查询了,配置文件这里使用的默认的,如果需要可以自己配置新的schema.xml文件更新zookeeper即可,以上就是solr配合zookeeper单机环境的配置过程

原文地址:https://www.cnblogs.com/freeweb/p/5226991.html