在没有Zookeeper的Docker Swarm(1.12)上启动Solr云
我通过Vagrant在3个CoreOS机器上运行Docker Swarm 1.12。
在群集上启动Solr云的最佳方式是什么? 我需要Zookeeper吗?
我已经得到了这个:
docker service create --mode=global --name solr -p 8983:8983 solr:5.3.1 bash -c "/opt/solr/bin/solr start -f -c"
但是云是空的,因为它不知道其他2台机器,我怎么能在这里使用Swarm的力量?
文档
容器映像文档描述了如何将Zookeeper互连为分布式Solr设置的后备存储:
您还可以运行分布式Solrconfiguration,使Solr节点位于不同的容器中,共享一个ZooKeeper服务器:
运行ZooKeeper,并定义一个名称,以便我们可以链接到它:
$ docker run --name zookeeper -d -p 2181:2181 -p 2888:2888 -p 3888:3888 jplock/zookeeper
运行链接到zookeeper容器的两个Solr节点:
$ docker run --name solr1 --link zookeeper:ZK -d -p 8983:8983 \ solr \ bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT' $ docker run --name solr2 --link zookeeper:ZK -d -p 8984:8983 \ solr \ bash -c '/opt/solr/bin/solr start -f -z $ZK_PORT_2181_TCP_ADDR:$ZK_PORT_2181_TCP_PORT'
在Docker Swarm上运行分布式Solr
从3节点群体开始:
$ docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS 2wkpmybf4wni8wia1s46lm2ml * node1 Ready Active Leader ajrnf5oibgm7b12ayy0hg5i32 node3 Ready Active bbe8n1hybhruhhrhmswn7fjmd node2 Ready Active
创build一个networking
$ docker network create --driver overlay my-net
启动一个zookeeper服务并等待它启动
$ docker service create --name zookeeper --replicas 1 --network my-net jplock/zookeeper
启动configuration为连接到DNS地址“zookeeper”的2 solr实例。 有关群集模式networking的更多信息,请阅读文档
$ docker service create --name solr --replicas 2 --network my-net -p 8983:8983 \ solr \ bash -c '/opt/solr/bin/solr start -f -z zookeeper:2181'
Web UI将在群集中的任何节点上可用
http://192.168.99.100:8983/ http://192.168.99.101:8983/ http://192.168.99.102:8983/
如果您检查服务,您会注意到容器分布在集群中的所有3个节点上。 这是默认的调度行为
$ docker service ps zookeeper ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR 3fhipbsd4jdazmx8d7zum0ohp zookeeper.1 jplock/zookeeper node1 Running Running 7 minutes ago $ docker service ps solr ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR bikggwpyz5q6vdxrpqwevlwsr solr.1 solr node2 Running Running 43 seconds ago cutbmjsmcxrmi1ld75eox0s9m solr.2 solr node3 Running Running 43 seconds ago
- 为什么我不能访问基于Docker的zookeeper端口
- 运行docker映像时运行时错误“oci运行时错误
- 如何部署一个回声应用程序Marathon(在Mac上的Docker Mesos上)?
- 创build主题,但在Kubernetes上使用Python获取Kafka FailedPayloadsError
- 使用Kafka代理的Dockerized Spring Cloud Stream服务无法连接到Zookeeper
- 如何安排监控CPU,内存,磁盘等工作
- Docker Swarm与Zookeeper – 没有select主要的集群pipe理器
- 在同一台机器上的两个docker客人中创build卡夫卡经纪人和动物园pipe理员有什么优点和缺点?
- 有没有办法从使用kafkacat在Docker容器中运行的kafka节点读取消息?