背景
最近几年,XC的趋势越发明显,各行各业推进节奏明显加快。单位也有计划做一个试点,公司安排我负责基础软件,中间件作为其中不可或缺的一员,早就听说东方通的中间件,早几年还使用过TongWeb5。
最近疫情凶猛,居家办公,正好单位在考察东方通中间件,通过该单位的销售报名参加东方通中间件TongWeb培训,可以熟悉中间件能干什么,集群搭建是否比tomcat方便一点,公司系统太多,有时候外包公司派来的小孩都是刚毕业1-2年的大学生,使用和运维越简单越好,和总集,应用开发公司打交道时也不会被他们虚报的工作量忽悠,还能多拿一个中间件证书,这个大环境,增加自己的不可替代性非常重要。
东方通是国内最早做中间件的公司,很低调的一个公司,大家知道最多的是TongWeb和TongLINK/Q两款中间件,其实还有其他中间件,交易中间件,分布式缓存中间件等,具体信息可以网上搜索,不过该公司官网信息比较混乱。
本文档目的是为了让更多的学员能够快速的掌握该考试,
培训过程
经过培训老师的接近1天的培训,培训时间大概4个小时,感觉该老师是做现场服务的工程师,比较注重实操,讲了一些中间件实际使用过程中老出的问题,最后发了培训教程和安装介质,软件的license,让自己温习教程和练习一天,群里还有几个东方通的工程师负责答疑,还能和其他学员交流一下。
考试准备
考试之前的准备工作:
1.下载好东方通老师给的培训教程、软件安装介质、license。建议按照老师推荐的版本来练习和考试,不然容易出奇奇怪怪的各种问题。
下载软件应用中间件tongweb7047 负载均衡软件TongHttpserver 6.0(搭建集群要用,一定要下载),软件的许可,这几个缺一不可。
这里吐槽一下:本次考试的网盘目录比较乱,老的旧的教程和介质也在网盘,命名也比较随意,可以在群里问问老师下那几个版本。
2.下载一遍老师培训教程和培训录屏,方便自己实操过程中出现问题能够看看老师怎么讲解,怎么做的,这一块在实际项目中常见问题和问题原因,有利于以后考试。视频可以1.2-1.5倍速观看。
培训教程一定要看一遍,不然很多问答题回答不了,这可以简单看一遍,到时候考试的搜索一下 关键词就好了。
3.阅读一下相关技术手册
在\TongWeb7047\doc下面有对应的文档
001_TongWeb V7.0 快速使用手册_7047A01.pdf
100_TongWeb V7.0 集群管理指南-企业版_7047A01.pdf
Ths文档TongHttpServer v6.0用户手册.pdf
方便考试的问答题,搭建集群
当然在csdn上也有很多技术问答题,可以按照考题去搜搜一下。
4.配套软件准备工作:
准备安装一个数据库软件,看个人爱好,有人安装oracle数据库,也有的安装mysql, 或者干脆搞一个达梦或者人大金仓,练习和操作过程中有2道题目都会要和数据库有交互。本人准备的oracle 11g, 因为东方通给的连接数据库的练习nonXaDsWeb.war包(TongWeb安装目录下有很多练习的samples war包,这点还是做得不错的)是连接oracle数据库的。注意记录数据库的账号,密码。
提前测试一下,能够简单的sql语句。Select * from emp;
还有准备好一个jdk1.8如果在linux上练习和考试,建议提前准备好 东方通的tongweb支持的jdk7-11,本人准备的是jdk-8u211-linux-x64.tar.gz
还要准备一个连接linux的工具,这类工具很多
Xshell 命令操作 + xftp 传输文件
或者
使用SecureCRT 8.5 进行命令操作 + securefx传输文件
如果使用securecrt 8.5连接麒麟 linux v10有乱码,需要修改一下如下图的编码设置.
建议准备2台虚拟机,可以安装一个centsos7或者麒麟v10. (强烈推荐在linux下进行东方通tongweb集群的练习和考试)
如果条件允许,单位有足够机器环境的话,就使用单位的虚拟机。
如果没有条件的话,需要在自己个人电脑上,安装一个VMware Workstation Pro(这个不知道何时有国产的替换软件啊,)
然后新建2个虚拟机,
大概一个2cpu 3-4G内存,20G硬盘空间就够了。
小建议:
可以先搭建145一个机器,安装linux OS以后,等一切就绪以后,再复制一个新的虚拟机.
刚刚安装完linux以后,非必要不使用root去做各种操作,可以新建一个以自己名字缩写或者全称的用户,比如 lmm(李梅梅),后期考试都会使用到,如果不是你名字,考试判卷的时候,无法得分。
以新建用户zpb登陆linux,把对应软件copy上去145机器。
如下图的绿色部分,
软件license oracle数据库的jdbc jar包。
Tongweb安装包 ths安装包
把需要用到的所有软件在145机器上准备以后,关闭该机器
通过vm workstation复制一个虚拟机,ip地址如下
192.168.109.145 构建master, 计划安装tongweb master + ths6 + 一个tongweb子节点 配置可以高一点。
192.168.109.144 构建其中一个node
5.搭建集群
其实东方通搭建集群非常方便的,完全按照web界面操作就可以。
环境准备:
如上一步骤所述,
以麒麟 v10搭建2个虚拟机
ip分别为
192.168.109.145
192.168.109.144
其中:
192.168.109.145 计划安装tongweb master + ths6 + 一个tongweb子节点 配置可以高一点。
192.168.109.144 构建其中一个node,配置为CPU 2c 内存2个cpu.
名录结构如上图。
搭建:
1.安装jdk 1.8
以zpb用户登陆,首先要安装jdk,
执行命令,解压缩,jdk
tar xvfz jdk-8u211-linux-x64.tar.gz
把jdk目录放在合适位置,本人是放在 ~/install目录下
配置java_home, path等环境变量。
注意:这里有一个坑,麒麟linux os一般自带 huawei bisheng jdk,
可以使用Oracle jdk或者 openjdk 或者 bisheng jdk
本人使用的是oracle jdk.
修改/etc/profile, 注意这里无法以zpb用户修改profile,需要su root以后再修改,修改完毕以后重新一次或者 source ./etc/profile,
建议最好重启一次。
重启以后,以zpb登陆
检查一下以下输出是否和配置的jdk一样,
注意:由于麒麟linux自带bisheng jdk, 自己安装的oracle jdk路径一定要在前面,比如冲突。
echo $JAVA_HOME
Echo $PATH
Java -version
2.在192.168.109.145安装TongWeb
在jdk安装完毕以后,可以安装tongweb
由于tongweb7047是绿色解压缩,非常方便。
tar xvf TongWeb7.0.4.7_Enterprise_Linux.tar.gz
mv TongWeb7.0.4.7_Enterprise_Linux TongWeb7047 //取一个短一点名字,方便操作。
把license.dat 放入TongWeb7047 安装目录下
3. 修改2处tongweb文件
根据个人电脑情况,tongweb占用JVM内存不要设置太大, 不然在后期练习过程中,tongweb集群子节点由于占用内存过大,无法注册或者无法启动,
提前修改bin/external.vmoptions中的 xmx xms内存配置, 把2048改为512M,
此建议仅限于练习和测试,生产环境中请咨询东方通专业服务人员,本文档不对生产环境出现故障负责。
修改文件
/home/zpb/install/TongWeb7047/bin/external.vmoptions
找到,修改为512
#jvm_options
-Xms512m
-Xmx512m
修改子节点文件
/home/zpb/install/TongWeb7047/Agent/bin/external.vmoptions
#jvm_options
-Xms512m
-Xmx512m
4. 防火墙配置和检查
注意:经常出现问题连接不上各种情况 是防火墙的问题
本次因为是练习和考试,可以暂时关闭防火墙
具体操作查询相关linux文档。
防火墙相关命令如下:
启动防火墙 systemctl start firewalld
停止防火墙 systemctl stop firewalld
防火墙状态查询 systemctl status firewalld
启动:systemctl start firewalld.service
防火墙随系统开启启动 : systemctl enable firewalld.service
系统开机彻底停止防火墙 systemctl disable firewalld.service
如果在公司机器不允许关闭防火墙,请配置相关端口,具体操作咨询系统管理员,或者阅读tongweb所需要的port查询东方通手册。
- 准备第二套tongweb虚拟机器
上述步骤都做完了,准备好了第一个 tongweb机器,为了节省时间,下面只描述大致步骤。
在VMware Workstation Pro对于第一个机器145,复制一个新的虚拟机器,启动,假设ip为144.
启动之前,注意在VMware Workstation Pro 降低144机器的配置
把机器配置调整为CPU 1 内存2GB
启动机器
- 准备145 tongweb虚拟机器的负载均衡软件
同样,也是解压缩,修改目录名为THS6.
tar xvfz TongHttpServer_6.0.0.0_x86_64.tar.gz
把license.dat放到合适位置。
7.启动TongWeb 配置集群
步骤1:
修改145 master节点的agent 1的配置文件
/home/zpb/install/TongWeb7047/Agent/config/agent.xml
步骤4:
启动master节点 ths6
startConsole.sh & //启动控制台
start.sh& //启动ths
检查ths6是否正常启动
可以按照阅读THS的用户手册
http://192.168.109.145:8000/console
username为 admin,密码在手册上有。
步骤5:
登陆集中管理控制台
http://192.168.109.145:9060/heimdall
手册上有默认账号和密码 rig
正常访问 heimdall 被迫修改默认密码为 rig/ 记住新密码
建议:所有的账号密码统一改为 统一密码。
(tongweb有密码强度规定,密码太多,建议本次练习和考试建议记录在一个文档,不然容易忘记)
步骤6:
在http://192.168.109.145:9060/heimdall 登陆以后可以看到有2个agent节点,
按照老师的培训教程增加一个集群cluster
一步步按照引导,在145的节点下面增加一个负载均衡,输入ths的安装路径,
全程实际不用登陆145 master节点的 console和 ths6的console节点。
TongWeb设计的非常巧妙,tongweb7+ ths6完全集成在一起了,除了问题找他们一家也可以解决。如果使用其他负载均衡软件,在项目实际过程出问题,排查也麻烦一点。
步骤7:测试验证集群
通过145 heimdall部署一个
.\samples\servletjsp-samples\servletjsp-tomcatexamples\TC_examples.war
部署的时候选择集群,cluster1
http://192.168.109.145:8080/TC_examples/
为了方便验证,可以分别在145和144的以下路径,
修改一下tc example的index.html页面
/home/zpb/install/TongWeb7047/Agent/nodes/tongweb-1/deployment/TC_examples/index.html
Vi index.html 修改一下title和h3
145 Apache Tomcat Examples
144 Apache Tomcat Examples
这样的话,通过在不停的访问以下 负载均衡的地址,
http://192.168.109.145:8080/TC_examples/、
可以看到分发访问到不同的节点子节点。
考试题型
考试题型分为填空题,问答题,单选题,多选题,还有上机实际操作,就是给你几个测试的sample war包,设置了几个考点,看看学员上机操作的时候能否解决。
里面几个难点:
1.在安装目录或者练习的时候,就以自己名字缩写建立用户,后期考试截屏,会需要使用到截屏,比如/home/lmm 避免有人作弊
2.复杂度较高的有 集群搭建,sample war中乱码排除 ,数据库连接池的并发连接数超限,利用JVM jstack查看war包中的进程哪儿出故障,
当然只要认真按照考试准备中去准备,我相信考试会非常顺利。
开始考试
东方通的老师会提供一个问卷星的二维码,扫码就可以答题,注意考试时间有限制。
当时不太懂,用手机微信扫码,然后全程在手机上答题,诸多不方便。如回答问答题,截屏等等用手机操作诸多不便。
后来听别人说可以有2个方法可以在电脑上答题,方便copy&paste,截屏上传。
方法1:
1.用手机微信扫码以后,有一个问卷星地址
选择右上角的图1 三个点,出现下图,选择图2或者图3
2.在电脑端微信中点击 图片,右键识别图中二维码,点击,也可以在电脑端微信上答题。
3.答题
问答题和选择题基本听了培训,看了教程都可以答出来。多选题稍微有点难度。
有些问答题,可以从教程中复制黏贴,这次考试还是比较宽容的。
上机操作题有些难度,但是如果做过java开发+tomcat部署运维或者国外商业中间件的,基本难度不大。
其实经过这次考试,也是熟悉一下jvm的基本命令,内存,通道,编码的问题,属于更加系统,透彻,会以java开发和运维全生命周期的的去观看问题。
4.只要提前搭建集群,提前准备好数据库,基本没有问题。
有2个编码和线程blocked的试题,有点意思.
培训和考试感悟
1.学习过程是很痛苦的,其中还有各种其他工作的事情老来打扰,有天晚上自己搭建集群测试和联系,由于vm workstation虚拟机资源不够,修改机器以后,其中一个子节点IP地址有变化了,折腾好久。虽然也可以找人帮忙代答题目,但是不亲自操作一遍,心理总是不踏实。只有虐待自己以后,你才能体会那种登顶之后的那份从容。
2.投资10个小时,学习和考试还是非常值得的, 熟悉了应用中间件的基本操作,部署,集群,尤其是集群的搭建,没有想到这么方便,以前感觉会搭建tomcat集群在公司都是大牛级别人物,现在却被大部分人轻松掌握,给我们做服务的小伙伴也参加考试了,基本会了,以后工作中有些基本的问题,自己可以搞定,通过查看log和报告错误,在疫情常态化的今天可以找厂商到现场来解决也不现实,只能远程解决,特别复杂问题可以找厂商到现场。
3.基础软件(操作系统、数据库和中间件)是三剑客,要想吃IT的这碗饭,这三个东西都要会一点,会前2个的人多,如果能增加中间件技术栈的话,会更加全面一点。
4.国产中间件的用户手册的可读性,可操作性还需要提高。