部署准备
序号 | 类型 | 软件名称 | 说明 |
---|---|---|---|
1 | 操作系统 | Windows Server 2003 或更高版本(RedHat 6.5或CentOS 7或Ubuntu 11) | 部署应用服务器,建议内存在8G以下,如果多个适配器,则可以根据实际情况增加相应的内存大小 |
2 | 应用服务器 | JDK 6(或更高版本) | |
3 | Tomcat 6.5(或更高版本) | ||
4 | 适配端应用 | Dataclient.dmp | Oracle适配端dmp数据库 |
5 | Dataclient.sql | Sql Server适配端数据库 | |
6 | Dataclient.sql | MySql适配端数据库 | |
7 | jmxProfile.rar | Jmx配置文件 | |
8 | Dataclient.war | 适配端war包 | |
9 | apache-zookeeper-3.5.6(或更高版本) | 分布式应用程序协调服务 | |
nginx-1.8.0(或更高版本) | HTTP和反向代理web服务器 |
Windows非集群版部署
数据导入
SQL Server数据导入
1、 确定源库所在数据库服务器的IP地址、sa口令及源库的名称。
2、 进入Sql Server企业管理器,在源库所在数据库新建一个dataclient数据库,数据库的字符集与要适配的源库一致,数据库日志模式修改成简单模式,这个一定要修改,因为如果不是简单模式日志增长会很快。
3、 在企业管理器中备份还原功能还原dataclient,还原文件为“dataclient.bak”。
Oracle数据导入
1、 确定源库所在的服务IP地址、实例名及system账号与密码;
2、 用sys账号(dba身份)登录PLSQL,打开 sql文件,执行文件中的所有语句。
注意:要核对所有的语句是否执行成功。
3、 Dmp导入:
Imp userid=dataclient/data file=dataclient文件目录/dataclient.dmp full=y
MySql数据导入
1、 确定源库所在数据库服务器的IP地址、root口令及源库的名称。
2、 修改Mysql my.ini参数:
[mysqld]
server-id=1
binlog_format=row
log_bin=mysql-bin.log
expire_logs_days=10
max_binlog_size=100M
3、 在源库所在数据库新建一个dataclient数据库。
4、 打开dataclient.sql,执行dataclient.sql,注意,执行这个语句应该是在dataclient数据库中执行。
应用服务器安装
安装前准备
1、 下载JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,注请下载64位的JDK版本。
2、 下载Tomcat,地址;http://tomcat.apache.org/,请下载64位版本。
3、 其它未涉及事宜。
JDK安装
双击进行安装;
配置环境变量,JAVA_HOME与Bin路径,下面是Windows的配置
设置JAVA_HOME:
在PATH中增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Tomcat安装
Copy tomcat8.5.51到安装目录,建议是D:\tools目录下。
War包部署
War部署前准备工作
Tomcat、JDK、数据库配置已经安装完成;
获得最的dataclient.war包;
准备Winrar类似的解压工具与UE类似的编辑工具。
修改war中配置文件
用winrar打开dataclient.war包;
修改global.app.properties中日志文件保存路径:
documentPath=D:\\dwdocument,修改正式运行环境下的日志文件存放路径,注意windows与Linux路径格式;
修改jdbc.conf文件
Jdbc.conf在目录dataclient\WEB-INF\classes下,修改datamanager连接信息,根据数据库类型选择不同的修改地方:
修改dataclient连接信息,根据不同的数据库类型选择不同的修改地方,如下图:
修改连接池测试语句
找到dataclient\WEB-INF\classes\config\ global.dao.xml文件,修改validationQuery参数为正确的数据测试语句,如下图:
修改httpinvoke远程连接信息
找到dataclient\WEB-INF\classes\rpc\httpinvoker\client\client.xml文件,把IP地址及端口改成中心端的IP地址及服务端,如下图:
修改web services远程连接信息
找到dataclient\WEB-INF\classes\rpc\webservice\client\client.xml文件,把IP地址及端口改成中心端的IP地址及服务端,如下图:
部署dataclient.war包
1、 拷贝修改后dataclient.war包到tomcat安装目录下的webapps下;
2、 测试部署结果,进入命令行,进入tomcat bin目录下,运行以下命令:
Catalina run
如果正常启动,则部署成功,如果有错误,根据错误的情况调整相关的参数。
Mysql其它部署
Zookeeper部署
Mysql适配端需要部署Zookeeper保存各种分析与状态信息,在部署MySql
适配端前请先部署Zookeeper程序。
1、解压apache-zookeeper-3.5.6-bin.tar.gz,运行zookeeper命令:/bin下的zkSever.bat
2、在zookeeper目录下创建数据目录data,日志目录log
3、Zookeeper配置文件zoo.cfg,在启用zookeeper之前,要修改数据存储路径与日志存储路径,Windows下的路径修改参考如下
dataDir=c:\\tools\\zookeeper\\data
dataLogDir=c:\\tools\\zookeeper\\log
Binlog日志捕获程序
MySql需要单独部署Binlog分析程序实现对于日志的分析与获取,运行程序是一个Jar包,可通过点MySqlCdc_Run运行。
注意事项:
1、 修改mysqlcdc中的zookeeper连接地址信息,jar包中有一个mysqlbinlog.properties,修改zk_servers=192.168.100.98:2181为实际的zookeeper连接信息;
2、 修改Mysql连接信息,jar包中有一个jdbc.properties,修改下面三个信息为实际的数据库连接配置信息:
app.jdbc.url=jdbc:mysql://192.168.100.98:3306/dataclient?useUnicode=true&characterEncoding=utf-8
app.jdbc.username=root
app.jdbc.password=19781230
Binlog 适配端配置修改
Mysql增加Zookeeper配置
找到dataclient\WEB-INF\classes\config\app\app.service.xml文件,JMX信息及终端监控信息,如下图:
把 zkConnection、retryPolicy与zookeeperSourceImpl注释去掉,修改成如下:
关键问题
Oracle
dataclient用户sys创建并授权,授权脚本不能出错
Tomcat
一台机器上部署多个适配端如何区分是哪个适配端:在catalina.bat中修改titl=tomcat+对应的端口
内存配置,设置成物理内存的3/4:JAVA_OPTS=-Xms1024m -Xmx4096m
一台机器上部署多个适配端,部署多个tomcat,修改server的两个端口,shutdown端口与Connector端口
MySql
如果MySql发布启停,请重启MySqlCdc,关闭MySqlCdc_Run.bat再运行MySqlCdc_Run.bat。
Windows集群版部署
数据导入
SQL Server数据导入
1、 确定源库所在数据库服务器的IP地址、sa口令及源库的名称。
2、 进入Sql Server企业管理器,在源库所在数据库新建一个dataclient数据库,数据库的字符集与要适配的源库一致,数据库日志模式修改成简单模式,这个一定要修改,因为如果不是简单模式日志增长会很快。
3、 在企业管理器中备份还原功能还原dataclient,还原文件为“dataclient.bak”。
Oracle数据导入
1、 确定源库所在的服务IP地址、实例名及system账号与密码;
2、 用sys账号(dba身份)登录PLSQL,打开 sql文件,执行文件中的所有语句。
注意:要核对所有的语句是否执行成功。
3、 Dmp导入:
Imp userid=dataclient/data file=dataclient文件目录/dataclient.dmp full=y
MySql数据导入
1、 确定源库所在数据库服务器的IP地址、root口令及源库的名称。
2、 修改Mysql my.ini参数:
[mysqld]
server-id=1
binlog_format=row
log_bin=mysql-bin.log
expire_logs_days=10
max_binlog_size=100M
3、 在源库所在数据库新建一个dataclient数据库。
4、 打开dataclient.sql,执行dataclient.sql,注意,执行这个语句应该是在dataclient数据库中执行。
应用服务器安装
安装前准备工作
1、 下载JDK,地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,注请下载64位的JDK版本。
2、 下载Tomcat,地址;http://tomcat.apache.org/,请下载64位版本。
3、 其它未涉及事宜。
JDK安装
双击进行安装;
配置环境变量,JAVA_HOME与Bin路径,下面是Windows的配置
设置JAVA_HOME:
在PATH中增加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
Tomcat安装
按照官网的文档安装进行Tomcat安装。
Jmx授权
1、 解压jmxProfile.rar文件,拷贝jmxremote.password与jmxremote.password两个文档到tomcat conf目录下;
2、 给jmxremote.password与jmxremote.password进行授权
Windows文件授权:
切换命令行模式,进入到tomcat bin目录下,运行下面命令:
cacls ../conf/jmxremote.password /P Administrator:R
cacls ../conf/jmxremote.access /P Administrator:R
java运行内存及JMX配置
修改应用运行内存大小,打开tomcat bin目录下的catalina文件,在头部加入以下参数:
set JAVA_OPTS=-Xms1024M -Xmx2048M
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
上述信息在一行里,不能分成多行。
Zookeerper集群部署
1、解压apache-zookeeper-3.5.6-bin.tar.gz,运行zookeeper命令:/bin下的zkSever.bat
2、在zookeeper目录下创建数据目录data,日志目录log
3、zookeeper配置文件zoo.cfg
设置数据目录dataDir:dataDir=../data
增加日志目录logDir:logDir=../log
4、设置集群信息:
1、在data目录新增文件myid没有后缀,在文件中输入数字,第一个zookeeper为1,第二个为2,第三为3,依此类推:
2、zoo.cfg中新增集群配置信息如下:
admin.serverPort=8280
server.1=192.188.90.81:2887:3887
server.2=192.188.90.82:2887:3887
server.3=192.188.90.83:2887:3887
5、zookeeper的查看工具zooInspector
War包部署
安装前准备工作
1、 Tomcat、JDK、数据库配置已经安装完成;
2、 获得最新的dataclient.war包;
3、 准备Winrar类似的解压工具与UE类似的编辑工具。
集群配置(Master/Slave)
1、拿到最新dataclient.war;
2、更改二个文件的名字:
1、找到dataclient\WEB-INF\classes\config\app\下的app.service.xml,修改成service.single.xml;
2、找到dataclient\WEB-INF\classes\config\app\下的app.service.cluser.xml,修改成app.service.xml;
3、找到dataclient\WEB-INF\classes\config\app\下的app.extend.xml,修改成service.single.xml;
4、找到dataclient\WEB-INF\classes\config\app\下的app.extend.cluser.xml,修改成app.extend.xml;
3、修改zookeeper集群信息,找到修改后的app.service.xml,修改如下的配置信息:
<bean id="zkConnection" class="org.win.extend.zookeeper.bean.ZKConnection" >
<constructor-arg index="0" value="192.168.100.105:2181,192.168.100.105:2181,192.168.100.105:2181" />
<constructor-arg index="1" ref="retryPolicy" />
<constructor-arg index="2" value="kmonitor" />
<constructor-arg index="3" value="/tasks" />
</bean>
把zookeeper的IP地址与端口修改成集群的zookeeper配置信息
注意事项
1、 需要安装Zookeeper组件;
2、 Master/Slave是一种高可用的方案;
3、把dataclient\webapp\WEB-INF\classes\config\app目录下以app.service.cluser.xml结尾的文件改为app.service.xml文件名称、删除原有重名的文件;
4、修改app.service.cluser.xml文件中正确的zookeeper集群地址。
部署dataclient.war包
1、 拷贝修改后dataclient.war包到tomcat安装目录下的webapps下;
2、 测试部署结果,进入命令行,进入tomcat bin目录下,运行以下命令:
Catalina run
如果正常启动,则部署成功,如果有错误,根据错误的情况调整相关的参数。
Mysql其它部署
Zookeeper配置
Mysql适配端需要部署Zookeeper保存各种分析与状态信息,在部署MySql
适配端前请先部署Zookeeper程序。
Binlog日志捕获程序
MySql需要单独部署Binlog分析程序实现对于日志的分析与获取,运行程序是一个Jar包,可通过点MySqlCdc_Run运行。
注意事项:
修改mysqlcdc中的zookeeper连接地址信息,jar包中有一个mysqlbinlog.properties,修改zk_servers=192.168.100.98:2181为实际的zookeeper连接信息;
修改Mysql连接信息,jar包中有一个jdbc.properties,修改下面三个信息为实际的数据库连接配置信息:
app.jdbc.url=jdbc:mysql://192.168.100.98:3306/dataclient?useUnicode=true&characterEncoding=utf-8
app.jdbc.username=root
app.jdbc.password=19781230
Binlog 适配端配置修改
Mysql增加Zookeeper配置
找到dataclient\WEB-INF\classes\config\app\app.service.xml文件,JMX信息及终端监控信息,如下图:
把 zkConnection、retryPolicy与zookeeperSourceImpl注释去掉,修改成如下:
Linux非集群版部署
常用命令
修改机器名:hostnamectl set-hostname 定义的机器名称
通过机器名访问机器:gedit /etc/hosts
免密处理
生成公钥:ssh-keygen -t rsa
copy到相应的机器:ssh-copy-id 机器名
查看进程:ps -ef|grep 服务名
查看磁盘空间:df -h
查看大文件:find / -type f -size +80M
查看内存:free -m
远程copy: scp -r /etc/hosts root@192.168.100.22:/etc/
部署服务
数据库服务器
1、 Redis
a) 把redis-3.2.11.tar copy到linux /tmp目录下;
b) 转到 /tmp/目录下运行 tar xzf redis-3.2.11.tar.tz;
c) 转到redis-3.2.11目录
d) 运行make install命令;
e) 在usr/local/bin目录下创建redis3.2目录,把usr/local/bin目录下的redis开头的几个文件copy到usr/local/bin/redis3.2目录下;
f) cp /tmp/redis-3.2.11目录下的redis.conf 文件copy到 /usr/local/bin/redis3.2目录,cp /tmp/redis-3.2.11/redis.conf /usr/local/bin/redis3.2;
应用服务器
JDK:
把jdk-8u91-linux-x64.tar.gz copy linux /usr/local/bin
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/bin
设置环境变量:gedit vi /etc/profile
在文件末尾增加以下三行:
export JAVA_HOME=/usr/local/bin/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
使环境变量生效:source /etc/profile
验证安装情况:java -version
Tomcat
Tomcat节点配置,打开配置文件conf\server.xml
Copy conf目录与lib到tomcat安装目录
设置内存:修改catalina.sh,在第一行增加:
set JAVA_OPTS=-Xms1024m -Xmx2048m
Linux特殊操作:设置目录权限(在tomact根目录下执行):
chmod -R 777 /usr/local/bin/apache-tomcat-8.5.51
启动与关闭:
启动:/usr/local/bin/apache-tomcat-8.5.51/bin/startup.sh
关闭:ps -ef|grep tomcat kill -9 进程号
进入目录
# cd /etc/systemd/system/
设置开机启动
# systemctl enable tomcat
查询当前tomcat的状态:
# systemctl status tomcat
关闭tomcat:
# systemctl stop tomcat
重启tomcat:
# systemctl restart tomcat
启动tomcat:
# systemctl start tomcat
关闭开机自启:
# systemctl disable tomcat
War包部署
War部署前准备工作
1、 Tomcat、JDK、数据库配置已经安装完成;
2、 获得最的dataclient.war包;
3、 准备Winrar类似的解压工具与UE类似的编辑工具。
修改war中配置文件
1、用winrar打开datacenter.war包;
2、修改global.app.properties中日志文件保存路径:
documentPath=D:\\dwdocument,修改正式运行环境下的日志文件存放路径,注意windows与Linux路径格式;
3、修改jdbc.conf文件
Jdbc.conf在目录datacenter\WEB-INF\classes下,修改datamanager连接信息,根据数据库类型选择不同的修改地方:
修改dataclient连接信息,根据不同的数据库类型选择不同的修改地方,如下图:
4、 修改连接池测试语句
找到dataclient\WEB-INF\classes\config\ global.dao.xml文件,修改validationQuery参数为正确的数据测试语句,如下图:
5、 修改httpinvoke远程连接信息
找到dataclient\WEB-INF\classes\rpc\httpinvoker\client\client.xml文件,把IP地址及端口改成中心端的IP地址及服务端,如下图:
6、 修改web services远程连接信息
找到dataclient\WEB-INF\classes\rpc\webservice\client\client.xml文件,把IP地址及端口改成中心端的IP地址及服务端,如下图:
部署dataclient.war包
1、 拷贝修改后dataclient.war包到tomcat安装目录下的webapps下;
2、 测试部署结果,进入命令行,进入tomcat bin目录下,运行以下命令:
Catalina run
如果正常启动,则部署成功,如果有错误,根据错误的情况调整相关的参数。
Linux集群版部署
Zookeeper
安装前准备
查看是否安装JDK java -version,如果没有安装,请先安装jdk
安装zookeeper
copy apache-zookeeper-3.5.6-bin.tar.gz 到 linux /tmp 目录
cd /tmp tar zxvf apache-zookeeper-3.5.6-bin.tar.gz -C /usr/local/bin
在zookeeeper-3.5.6下创建data与log目录
在zookeeper目录下创建数据目录data,日志目录log
zookeeper配置文件zoo.cfg
数据目录:dataDir=/usr/local/bin/apache-zookeeper-3.5.6-bin/data
日志目录:logDir=/usr/local/bin/apache-zookeeper-3.5.6-bin/log
设置集群信息:
在data目录新增文件myid没有后缀,在文件中输入数字,第一个zookeeper为1,第二个为2,第三为3,依此类推:
zoo.cfg中新增集群配置信息如下:
admin.serverPort=8280
server.1=192.100.100.20:2887:3887
server.2=192.100.100.21:2887:3887
server.3=192.100.100.22:2887:3887
给zookeeper目录下的文件及子目录授权:
chmod -R 777 /usr/local/bin/apache-zookeeper-3.5.6-bin
分发:
scp -r /usr/local/bin/apache-zookeeper-3.5.6-bin/
root@192.168.100.21:/usr/local/bin/
scp-r/usr/local/bin/apache-zookeeper-3.5.6-bin/ root@192.168.100.22:/usr/local/bin/
启动停止及查看命令:
启动: cd/usr/local/bin/apache-zookeeper-3.5.6-bin/bin ./
zkServer.sh start
停止:cd /usr/local/bin/apache-zookeeper-3.5.6-bin/bin./zkServer.sh stop
状态:cd /usr/local/bin/apache-zookeeper-3.5.6-bin/bin./zkServer.sh status
查看日志: cat zookeeper.out
zookeeper的查看工具zooInspector
Tomcat
安装部署
1.Tomcat节点配置,打开配置文件conf\server.xml
2.Copy conf目录与lib到tomcat安装目录
3.设置内存:修改catalina.sh,在第一行增加:
set JAVA_OPTS=-Xms1024m -Xmx2048m
4.Linux特殊操作:设置目录权限(在tomact根目录下执行):
chmod -R 777 /usr/local/bin/apache-tomcat-8.5.51
5.启动与关闭:
启动:/usr/local/bin/apache-tomcat-8.5.51/bin/startup.sh
关闭:ps -ef|grep tomcat
kill -9 进程号
6.进入目录
# cd /etc/systemd/system/
7.设置开机启动
# systemctl enable tomcat
8.查询当前tomcat的状态:
# systemctl status tomcat
9.关闭tomcat:
# systemctl stop tomcat
10.重启tomcat:
# systemctl restart tomcat
11.启动tomcat:
# systemctl start tomcat
12.关闭开机自启:
# systemctl disable tomcat
Nginx
安装
copy nginx-1.8.0 to /usr/local/bin目录下
授权:chmod -R 777 /usr/local/bin/nginx-1.8.0
启动、测试、关闭命令
启动:cd /usr/local/bin/nginx-1.8.0/sbin./nginx
测试配置文件:nginx -t
强制关闭:pkill nginx
配置nginx
文件位置: /usr/local/bin/nginx-1.8.0/conf/nginx.conf Nginx(配置文件常见结构的从外到内依次是「http」「server」「location」等等,缺省的继承关系是从外到内,也就是说内层块会自动获取外层块的值作为缺省值)
配置负载均衡
upstream lsrjhttp {
server 192.168.100.98:8080 weight=1;
server 192.168.100.17:8080 weight=1;
server 192.168.100.88:8080 weight=1;
}
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://lsrjhttp;
proxy_set_header Host $host:$server_port;
}
error_page 500 502 503 504 /50x.html;
}
负载算法
轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器;
#设定负载均衡服务器列表
upstream lsrj_http {
#后端服务器访问规则
server192.168.1.115:8080 weight=1; #server1
server192.168.1.131:8081 weight=1; #server1
server192.168.1.94:8090 weight=1; #server3
}
url_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器。后台服务器为缓存的时候效率。
upstream lsrj_http {
2、url_hash;
server .*.***.***:8855;
server .*.***.***:8811;
}
源地址哈希法(不推荐用,因为消息发布系统有的特别多,这样会导致某些机器压力特别大)就是对访问用户的IP进行hash后的结果进行分配,这样每一个用户固定请求同一个后端服务器,能够解决session的问题。
upstream lsrj_http {
ip_hash;
server .*.***.***:8855;
server .*.***.***:8811;
}
fair法(非官方):这个fair表示的是按照服务器响应时间的长短来进行分发的,服务器响应时间越短的,优先分发。
upstream lsrj_http {
server .*.***.***:8855;
server .*.***.***:8811;
fair;
}
War包部署
安装前准备工作
1、 Tomcat、JDK、数据库配置已经安装完成;
2、 获得最新的dataclient.war包;
3、 准备Winrar类似的解压工具与UE类似的编辑工具。
集群配置(Master/Slave)
1、拿到最新dataclient.war;
2、更改二个文件的名字:
1、找到dataclient\WEB-INF\classes\config\app\下的app.service.xml,修改成service.single.xml;
2、找到dataclient\WEB-INF\classes\config\app\下的app.service.cluser.xml,修改成app.service.xml;
3、找到dataclient\WEB-INF\classes\config\app\下的app.extend.xml,修改成service.single.xml;
4、找到dataclient\WEB-INF\classes\config\app\下的app.extend.cluser.xml,修改成app.extend.xml;
3、修改zookeeper集群信息,找到修改后的app.service.xml,修改如下的配置信息:
<bean id="zkConnection" class="org.win.extend.zookeeper.bean.ZKConnection" >
<constructor-arg index="0" value="192.168.100.105:2181,192.168.100.105:2181,192.168.100.105:2181" />
<constructor-arg index="1" ref="retryPolicy" />
<constructor-arg index="2" value="kmonitor" />
<constructor-arg index="3" value="/tasks" />
</bean>
把zookeeper的IP地址与端口修改成集群的zookeeper配置信息
注意事项
1、 需要安装Zookeeper组件;
2、 Master/Slave是一种高可用的方案;
3、 把dataclient\webapp\WEB-INF\classes\config\app目录下以app.service.cluser.xml结尾的文件改为app.service.xml文件名称、删除原有重名的文件;
4、 修改app.service.cluser.xml文件中正确的zookeeper集群地址。
部署dataclient.war包
1、 拷贝修改后dataclient.war包到tomcat安装目录下的webapps下;
2、 测试部署结果,进入命令行,进入tomcat bin目录下,运行以下命令:
Catalina run
如果正常启动,则部署成功,如果有错误,根据错误的情况调整相关的参数。