我正在开发Spring XD和GemFire XD。我想了解Spring XD的分布式环境是如何工作的。我知道spring xd使用redis或rabittmq作为传输。
我很清楚这一点,我在一台机器上安装了spring xd和rabittmq。我更改了redis.properties文件并添加了主机名。
我是否需要在所有机器上安装spring xd?如果是这样,安装后,如何把它们搞定。
在主机上,我会执行./xd-admin和./xd-container
如何启动节点(spring xd instances / workers)以便他们可以侦听来自xd-admin的指令?
请帮我解决这个问题。
谢谢, -Suyodhan
答案 0 :(得分:1)
Redis仅用于分析,仅作为支持的平台。要运输,您需要Redis或Rabbit。
基本上您只需要根据各自的文档安装Redis和RabbitMQ。它们可以位于相同或不同的服务器中,理想情况下,您可以使用其高可用性选项。例如Redis Sentinal。除非您想要将Redis的默认传输更改为Rabbit,否则您不需要RabbitMQ。安装Redis和Rabbit后,启动它们并将其主机:端口信息(以及任何其他适用的)添加到XD安装中的servers.yml(在所有节点中)并启动管理和容器。通过使用zookeeper作为管理分布式运行时的方法,Evrything应该自动工作。
答案 1 :(得分:0)
如果您在分布式模式下使用Spring XD,我假设您已经设置了zookeeper。 (如果不检查此http://docs.spring.io/spring-xd/docs/1.0.0.M7/reference/html/#_setting_up_zookeeper)
管理员和容器实例在Zookeeper出现时注册自己。管理员查询zookeeper以获取可用容器并分配部署模块等任务。 Zookeeper是分布式模式背后的技巧。
希望这有帮助。
答案 2 :(得分:0)
您将在一台计算机上安装Spring xd一次,Spring XD将连接到您的hdfs分布式扩展环境。 你需要开始以下几点: 1.在你的情况下redis或rappitMQ 2. hsqldb服务器 容器 4. admin
当你启动spring xd时,你需要首先使用命令注册名称节点: hadoop config fs --name hdfs:// serverip:8020
然后您可以使用spring xd中定义的任何模块(使用流或批处理)直接指定其参数,而无需在server.yml文件中指定它们。
莫哈。