SpringXD集群搭建
来源:互联网 发布:xp电脑连接网络打印机 编辑:程序博客网 时间:2024/05/16 11:03
最近一直在看SpringXD的相关东西,发现这玩意儿在国内用的真不多,资料忒少,百度搜索出来的基本上都是介绍这个框架的。折腾了一周,查了好多资料,看官方文档,才终于慢慢的把这个集群给搭建起来。仔细想来SpringXD跟Hadoop有点类似,Hadoop中有NameNode,DataNode,以及集群通信方式RPC;SpringXD有admin,container以及signalnode,通信方式通过redis或者MQ。下面介绍安装过程:
一、安装环境
服务器:CentOS6.5(3台)
java版本:jdk1.8
二、相关依赖
安装XD的集群需要先了解XD的工作方式,XD在我的工作中主要用来调度SpringBatch的任务,XD执行SpringBatch的任务是创建job,然后执行job,单机模式下用的是自带的数据库HSQLDB来存储job执行的相关信息,而在集群模式下则需要使用其他的RDBMS作为统一的job执行信息存储媒介。集群调度时才用的通讯方式如前所述为MQ或者redis,由于对MQ不太会使,所以本例中用的是redis,然后就是集群高可靠性常用的工具-zookeeper。所以,需要下载:
- MySql
- Redis
- Zookeeper
三、安装依赖
分别安装mysql,redis,zookeeper
1、安装mysql
http://blog.csdn.net/liumm0000/article/details/18841197
2、安装redis
http://www.cnblogs.com/_popc/p/3684835.html
3、zookeeper集群搭建
http://blog.csdn.net/gobitan/article/details/8659175
按照以上提供的链接地址安装完成之后分别启动mysql,redis和zookeeper集群。
四、XD集群搭建
1、下载SpringXD的安装文件
wget http://repo.spring.io/libs-release/org/springframework/xd/spring-xd/1.2.0.RELEASE/spring-xd-1.2.0.RELEASE-dist.zip
2、放到/opt/springxd目录下并解压
unzip spring-xd-1.2.0.RELEASE-dist.zip
3、修改配置文件
vi spring-xd-1.2.0.RELEASE/xd/servers.yml配置redis:
redis: headers: #comman-delimited list of additional (string-valued) header names to transport default: # default bus properties, if not specified at the module level backOffInitialInterval: 1000 backOffMaxInterval: 10000 backOffMultiplier: 2.0 concurrency: 1 maxAttempts: 3
spring: redis: port: 6379 host: 192.168.12.175# sentinel:# master: mymaster# nodes: 127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381配置zookeeper:
zk: namespace: xd client: connect: 192.168.12.174:2181 sessionTimeout: 60000 connectionTimeout: 30000 initialRetryWait: 1000 retryMaxAttempts: 3配置mysql:
spring: datasource: url: jdbc:mysql://192.168.12.174:3306/xdjob username: root password: 1234 driverClassName: com.mysql.jdbc.Driver validationQuery: select 1
配置执行JOB时的集群共享目录:
xd: customModule: home: file:///opt/springxd/share/这个步骤的配置是当用户创建SpringBatch的job时,XD用于存放源文件的地方,集群方式下,job的执行会放在container中,而admin则负责调度,不同于hadoop的任务分发机制,XD的执行jar包无法直接拷贝至container所在的服务器执行路径。官方的建议是使用NFS,即网络文件共享,因此这里配置一个admin用于存放job源文件的目录,而后将admin的这个目录设置成网络共享,那么admin对本机该文件夹的操作都会在对应的container上产生一个副本,那个副本就是container执行job时放jar文件的目录。下一步会配置NFS。
4、配置NFS
创建目录:
mkdir/opt/springxd/share/
编辑exports文件:
vi /etc/exports在文件末尾加上两行:
/opt/springxd/share 192.168.12.174(rw,sync,no_root_squash)/opt/springxd/share 192.168.12.175(rw,sync,no_root_squash)这是配置给174和175两台服务器能够挂载本机上的该目录
配置生效:
exportfs -r
重启NFS服务:
service nfs restart174和175服务器挂载该目录:
mount -t nfs 192.168.12.176:/opt/springxd/share/ opt/springxd/share
5、xd文件远程拷贝至其他服务器
scp -r root@192.168.12.176:/opt/springxd/ /opt/springxd/6、启动集群
需要分别启动admin和container
176为admin,174和175位container,直接运行每台机器上/opt/springxd/xd/bin目录下的xd-admin和xd-container即可启动。然后可通过web页面查看集群状况。由于我的admin启动是在176服务器上,所以直接在浏览器中打开
http://192.168.12.176:9393/admin-ui以下是集群container截图:
- SpringXD集群搭建
- 集群搭建
- 集群搭建
- 集群搭建
- 集群搭建
- 集群搭建
- zk集群搭建搭建
- Storm集群,zookeeper集群搭建
- Zookeeper集群搭建+Kafka集群搭建--55
- zookeeper集群搭建和kafka集群搭建
- 环境搭建-Hadoop集群搭建
- 环境搭建-CentOS集群搭建
- 集群的搭建
- Tomcat 集群的搭建
- Cassandra的集群搭建
- hadoop集群搭建
- zookeeper集群搭建
- 搭建MongoDB集群
- Java反射机制getClass()函数
- Xcode7---项目模拟器运行不了,一个月时间了,终于解决问题啦
- linux源码搭建lamp环境 + 源码包
- 十三周 项目2-Kruskal算法的验证
- 单片机学习之流水灯的实现
- SpringXD集群搭建
- Android关于布局的整理。
- hdu5568 sequence2(dp + 高精度)
- 【自食用】乱七八糟的安全概念2
- 如何在linux下实现mysql数据库每天自动备份
- 设置ssh超时时间
- android 禁用和开启四大组件的方法(setComponentEnabledSetting )
- selenium web driver 使用JS修改input属性
- linux设备驱动归纳总结(六):3.中断下半部之工作队列