当前位置: 首页 > news >正文

通向架构师的道路之weblogic的集群与配置

一、Weblogic的集群

还记得我们在第五天教程中讲到的关于Tomcat的集群吗?

 

两个tomcat做node即tomcat1, tomcat2,使用Apache HttpServer做请求派发。

现在看看WebLogic的集群吧,其实也差不多。

区别在于:

²  Tomcat的集群的实现为两个物理上不同的tomcat,分别就是两个node,没有总控端,没有任何控制台可言(只有通过比较简陋的http://localhost:8080/manager/html,或者是http://localhost:9090/manager/html)来对每个tomcat节点进行监视(此处只有monitor没有control);

如果我们要布署我们的Web应用,需要分别手工往每个Tomcat的webapp目录里拷贝文件。

²  Weblogic的集群必须设立一个总控端,可从上图中看出,然后这个总控端我们把它称为AdminServer,然后在其下可以挂weblogic的集 群的node,这个node不是物理上不同的两个weblogic,而是不同的domain,我们假设domain1, domain2为两个weblogic的集群的节点。

如果我们要布署我们的Web应用,只需要在总控端布署一次,然后挂在这个总控端下的节点将会自动将我们的web应用发布到每一个节点。

因此,要实现weblogic的集群必须:

ü   安装Weblogic

ü   创建一个AdminServer的domain

ü   在AdminServer上建立集群总控端

ü   分别创建每一个要加入此集群总控端的node,也是一个个的domain

二、创建Weblogic集群前的规划

根据第一节中的内容,我们将我们用于实验的Weblogic规划成3个domain,每个domain都包含有下列的必不可少的属性:

ü   AdminConsole(总控端)

l   逻辑名

l   物理名(domain的系统路径)

l   端口号

l   计器名(IP)

l   登录信息(username/password)

ü   Cluster node1(集群节点1)

l   逻辑名

l   物理名(domain的系统路径)

l   端口号

l   计器名(IP)

l   登录信息(username/password)

ü   Cluster node2(集群节点2)

l   逻辑名

l   物理名(domain的系统路径)

l   端口号

l   计器名(IP)

l   登录信息(username/password)

我们用表格列出我们将要创建的集群中总控端与每个节点的集息:

物理名

逻辑名

端口号

主机名(IP)

登录信息

\bea\user_projects\domains\adminserver

AdminServer

7001

localhost

weblogic/password_1

\bea\user_projects\domains\server1

mycluster1

7011

localhost

weblogic/password_1

bea\user_projects\domains\server2

mycluster2

7012

localhost

weblogic/password_1

规划好了,就可以开始来创建我们的集群了。

三、开始创建我们的Weblogic集群

3.1 创建集群的总控制端(aminserver)

Windows:

Windows下通过菜单->OracleWeblogic->Weblogic Server 11gR1->Tools->Configuration Wizard来启动创建domain的wizard。

Unix/Linux

Unix/Linux下通过

cd /bea/wlserver/common/bin

./config.sh

来启动创建domain的wizard。

选择“创建新的Weblogic域”,选下一步(下面全部跟着我的操作步骤与界面填选的参数走,所有的用户名啦、密码啦、端口号啦、IP啦,都请根据第一节中的那个表格里的参数填写

 

下一步后界面类似,但是是有区别的,注意了哦,不要下手太快了

上面这个配的就叫集群广播地址的界面。

因为集群是通过广播(有unicast和multicast两种)来同步集群中的节点,并且把每个节点中的session通过这个广播地址来进行复制和同步,即主控域不断的时时刻刻的会和它下面的子节点间保持通讯、经常去询问各个子节点的。

ü   名称:

可以任意

ü   集群信息传送模式:

有unitcast与multicast两种,在11G版本前都是multicast10G后开始支持unicast协议。

如果指定了multicast,就必须指定一个“多点传送地址”,此地址和端口都可以采用weblogic默认的。

如果在域环境,还需要在防火墙中配置这个“多点传送地址”与“多点传送端口”,使其在防火墙中被打开,协议为both of tcp and udp。

 

  Look, 右边这块我们把它称为“集群的逻辑拓卜图”。

此处是对每个集群里的节点指定相应的“计算机名/IP”,由于我们的实验是建立在同一台机器上的即纵向集群,因此这步什么都不需要填,直接下一步

  完成后可以启动adminserver

 然后通过http://localhost:7001/console来查看我们的集群规划,如下图:

 

 这样,我们就完成了创建一个新的domain并且将且扩展成为了集群的总控制端服务器,同时在这上面我们制作了一个“集群拓卜图”,那么下面要做的就是:

²  创建该集群拓卜图中的节点1

²  创建该集群拓卜图中的节点2

3.2 创建集群中的节点(mycluster1, mycluster2)

启动Weblogic的Configuration Wizard

按照普通的域,就是一个普通的域来创建(为了实验方便我们的用户名与密码全部为weblogic/password_1):

l   user_projects\domains\server1(逻辑名为:mycluster1,端口:7011)

l   user_projects\domains\server2(逻辑名为:mycluster2,端口:7012)

 下一步,下一步,创建,完成。

 依上面的相同步骤可以自行创建server2(逻辑名为mycluster2,端口:7012)。

 3.3 如何启动集群

物理名

逻辑名

端口号

主机名(IP)

登录信息

\bea\user_projects\domains\adminserver

AdminServer

7001

localhost

weblogic/password_1

\bea\user_projects\domains\server1

mycluster1

7011

localhost

weblogic/password_1

bea\user_projects\domains\server2

mycluster2

7012

localhost

weblogic/password_1

我们看着上面这个表格来输入命令吧。

1. 启动主控域(必须永远先启动主控域)

 2.启动节点1(间点间的启动顺序无所谓

 3. 启动节点2(间点间的启动顺序无所谓

 全部启动完毕后就可以通过主控制域的admin console即http://localhost:7001/console来管理这个集群了。

四、jdbc集群

有了集群,我们就可以布署我们的JDBC了,只是这个JDBC的布署和以前单机版的JDBC布署稍稍有点不一样,前面我们引用第八天中的建立JDBC的步骤:

 好好好,停,到了这边,不一样的地方来了。

 嘿嘿,千万不要把这个JDBC连接池的“target”即作用域设错了哈,我们现在是集群,要把这个JDBC连接池的作用域设在我们的集群上的哈!

 我们来测试一下我们建立的数据源吧。

 两个cluster上的数据源全部部署成功。

这边再提一句:

集群布署的话AdminServer只是一个控制器,通过它布署的war程序是自动同步到挂在它下面的所有的节点中去的,因此JDBC数据源,或者JMS或者是EJB都要在绑定是把target即作用域设成cluster而不是AdminServer本身,因为AdminServer本身不会布署任何任何东西的。

五、把工程布署到集群环境中去

ü   确保我们将要布署的工程中的web.xml的最后一行含有:

ü   在将要布署的工程的WEB-INF目录下新建一个weblogic.xml的文件,其内容如下:

 true

 replicated

 true

/cbbs

该内容使得你的工程可以在Weblogic集群环境下进行Session复制。

然后就可以开始布署了

 下面又来了,和在集群中布署JDBC是一样的,请看:

 下一步,下一步一直到[完成]按钮亮起来后,点[完成]。

 点[保存]并[激活更改]。

大家来看看两个cluster即mycluster1与mycluster2下是否被布署了工程,即相当于我们手工要在两个tomcat节点的webapps目录里拷入我们的WAR工程,而weblogic只需要通过主控制域,自动将war工程布署在其下的所有子节点内。

是的,果然,它自动布署了。就算我下面有10几个子节点,它也一样只需要在AdminServer上布署一次,自动同步。

我们把这个工程启动起来吧。

 当你一点“为所有请求提供服务,再来看两个字节点的后台console,都可以同步启动了:

 布署成功

 打开两个IE:

一个输入: http://localhost:7011/cbbs

一个输入: http://localhost:7012/cbbs

 Weblogic集群布署成功,接下去就是在Apache里进行派发了

六、使用Apache与Weblogic集群整合

打开httpd.conf,把下面这段就是我们在“第九天”中加入的,去掉:

LoadModule weblogic_module modules/mod_wl_22.so

   WebLogicHost localhost

   WebLogicPort 7001

   MatchExpression /cbbs/WEB-INF

   MatchExpression /cbbs/*WEB-INF

   MatchExpression /cbbs/*.action

   MatchExpression /cbbs/servlet/*

   MatchExpression /cbbs/*.jsp

   MatchExpression /cbbs/*fckeditor/editor/filemanager/connectors/*.*

   MatchExpression /cbbs/fckeditor/editor/filemanager/connectors/*

   WLLogFile logs/wlproxy.log

换成下面这一段

LoadModule weblogic_module modules/mod_wl_22.so

   Include conf/weblogic.conf

然后在apache安装的conf目录下手工建立weblogic.conf文件,其内容如下:

WeblogicCluster localhost:7011,localhost:7012

  

MatchExpression /cbbs/WEB-INF

MatchExpression /cbbs/*WEB-INF

MatchExpression /cbbs/*.action

MatchExpression /cbbs/servlet/*

MatchExpression /cbbs/*.jsp

MatchExpression /cbbs/*fckeditor/editor/filemanager/connectors/*.*

MatchExpression /cbbs/fckeditor/editor/filemanager/connectors/*

重启你的Apache,输入:http://localhost/cbbs/index.jsp

 Apache加Weblogic集群,搞定!

七、JMS集群

这是我在用Weblogic集群布署PEGA Rulz的详细步骤,供各为参考。因为网上关于JMS在Weblogic下如何作集群不是太多,因此把步骤记录下来Share给大家。

JMS集群和JDBC集群不一样,就是不能够直接建立JMS源,然后把它target到我们的myclusterbroadcast上去

ü   而是需要分别为每个cluster单独建一个jms的server如下图。

ü   然后建立jmsmodule

 将module 的作用范围即target到我们的cluster(myclusterbroadcast)上去。

建立完了module你就要建立topic, queue以及相应的topic connection factory或者是queue connectionfactory了是吧?

因为我们这边给PEGA Rulz做集群用的是topic方式来发布集群的,因此我们以topic为例,queue的建立也就一样了。

ü   单击刚才我们建立的KTJmsModule

 点[New]

先建connection factory

ü   在新建connectionfactory的界面中有一个[高级定位]的按钮

ü   点[新建子部署]

填入完子布署的名称后,按照如下图来“target”

 点完成后跳出如下的界面

 此时我们可以开始真正建立我们的topic或者是queue了

前面说了不能够直接建立JMS源,然后把它target到我们的myclusterbroadcast上去。那么我们要对JMS进行集群即对Topic或者是Queue进行集群,但是我们可以建立一个Distribute Topic,然后分别建两个一边的topic,一个topic连向jmsserver1一个topic连向jmsserver2,然后把这个Distribute Topic定位(Target)到这两条topic上即是我们的“集群下的jms topic”。

ü   在jmd module里点[新建]按钮

选择“主题”(不是分布式主题)

  

每个子部署(sub deployment)需要定位(target)到一个jms server上。

依此分别建立:

l   topic1 subtop1->jmsserver1

l   topic2 subtop2->jmsserver2

现在,我们的jms module里的内容因该如下图所示:

ü   建立 “分布式主题”(DistributeTopic)

在jms module里点新建按钮,选“分布式主题”

一定要记得把“Destination Type”改成“Weighted”。

这边的分布式Topic的JNDI Name: 就是我们真正的需要用来做集群的JMS的Topic或者是Queue的jndi名,比如说我的产品PEGA Rulz需要在集群环境下用到RamTopicJNDI,这个JNDI Name就必须填产品说明书上的那个Topic或者是Queue的名字哦。

点下一步后将刚才两个新建的topic全部分配给这个distribute topic

点[完成]按钮

这样,一个集群环境下的JMS分布式主题(Topic)就全建完了,最后不要忘了点左边菜单上方的“激活更改”,保存您刚才的所有的更改。

相关文章:

通向架构师的道路之weblogic的集群与配置

一、Weblogic的集群 还记得我们在第五天教程中讲到的关于Tomcat的集群吗? 两个tomcat做node即tomcat1, tomcat2,使用Apache HttpServer做请求派发。 现在看看WebLogic的集群吧,其实也差不多。 区别在于: Tomcat的集群的实现为两个物理上…...

SpringBoot 项目创建与运行

一、Spring Boot 1、什么是Spring Boot?为什么要学 Spring Boot Spring 的诞生是为了简化 Java 程序的开发的,而 Spring Boot 的诞生是为了简化 Spring 程序开发的。 Spring Boot 翻译一下就是 Spring 脚手架 盖房子的这个架子就是脚手架,…...

FOHEART H1数据手套:连接虚拟与现实,塑造智能交互新未来

在全新交互时代背景中,数据手套无疑是一种重要的科技产物。它不仅彻底改变了我们与虚拟世界的互动方式,更为我们提供了一种全新、更为直观的交互形式。 FOHEART H1数据手套结合了虚拟现实、手势识别等高新技术,用先进的传感技术和精准的数据…...

MyBatis学习笔记3

日志 1.日志工厂 如果一个数据库的操作,出现了异常,我们需要排错。日志就是最好的工具。 日志工厂:SLF4JLOG4J(掌握)LOG4J2JDK_LOGGINGCOMMONS_LOGGINGSTDOUT_LOGGING(掌握)NO_LOGGING 2.分页 减少数据…...

ES6学习-Symbol

Symbol 数据类型Symbol,表示独一无二的值。 对象的属性名可有两种类型,一种是原来的字符串,另一种是新增的 Symbol 类型 可以保证不与其他属性名产生冲突。 let s1 Symbol() let s2 Symbol() console.log(s1, s2, s1 s2)//Symbol() Sy…...

【Redis】使用Docker镜像配置集群时的Operation timed out问题

不知道有没有小伙伴跟我一样是使用的Docker镜像进行Redis集群案例模拟的(三台虚拟机确实带不动 ),然后我遇到了一个问题:Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一个Redis实例的…...

Java 生产初学常用注解

目录 0. 基础语法逻辑运算符继承抛出异常获取数据方式泛型 1. 接收前端数据(controller)mybatis1. QueryWrapper获取和赋值 2. service 层注解 3. Dao 层(与数据库交互)3.1 mybatis-plus中BaseMapper 4. ELK框架es配置sql参数logs…...

mousedown拖拽功能(vue3+ts)

因为项目有rem适配,使用第三方插件无法处理适配问题,所有只能自己写拖拽功能了 拖拽一般都会想到按下,移动,放开,但是本人亲测,就在div绑定一个按下事件就行了(在事件里面写另外两个事件&#x…...

【论文阅读】基于深度学习的时序异常检测——TransAD

系列文章链接 数据基础:多维时序数据集简介 论文一:2022 Anomaly Transformer:异常分数预测 论文二:2022 TransAD:异常分数预测 论文链接:TransAD.pdf 代码库链接:https://github.com/imperial…...

NLPCC 出版部分相关源码记录

目录 Download Unzip Author Title Affiliation Check number of tex Zip Rename Delete Download import requests from bs4 import BeautifulSoup# 登录网站并获取登录后的 session def login(username, password):login_url https://example.com/loginsession re…...

【Windbg】通过网络调试windows内核

环境 windows版本:win10_x64 1901 windbg版本:1.2306.12001.0 HOST 1、windbg软件设置。 点击菜单文件,然后如下图操作。 2、等待连接。 ************* Waiting for Debugger Extensions Gallery to Initialize **************>>&…...

代码随想录算法训练营之JAVA|第二十四天| 93. 复原 IP 地址

今天是第24天刷leetcode,立个flag,打卡60天。 算法挑战链接 93. 复原 IP 地址https://leetcode.cn/problems/restore-ip-addresses/ 第一想法 题目理解:将一串数字字符串变成正确的ip格式的字符串。 这类题目是切分字符串,ip一…...

网络安全 Day30-运维安全项目-堡垒机部署

运维安全项目-堡垒机部署 1. 运维安全项目-架构概述2. 运维安全项目之堡垒机2.1 堡垒机概述2.2 堡垒机选型2.3 环境准备2.4 部署Teleport堡垒机2.4.1 下载与部署2.4.2 启动2.4.3 浏览器访问teleport2.4.4 进行配置2.4.5 安装teleport客户端 2.5 teleport连接服务器 1. 运维安全…...

电脑文件夹备份命令

电脑文件夹备份 cmd窗口输入shell:startup 将备份.bat文件放到,自启动文件夹下 bat文件内容写以下就可以了 Xcopy "D:\文件\" "F:\文件备份\" /E/H/C/I/y...

RocketMQ Learning(一)

目录 一、RocketMQ 0、RocketMQ的产品发展 1、RocketMQ安装 1.1、windows下的安装 注意事项 1.2、Linux下的安装 1.3、源码的安装 1.4、控制台 2、消息发送方式 2.1、发送同步消息 2.2、发送异步消息 2.3、单向发送 3、消息消费方式 3.1、负载均衡模式&#xff0…...

libmpv使用滤镜处理视频进行播放

一、前言 作为一个功能强大的多媒体框架,libmpv为开发者提供了广泛的功能和灵活的控制权。滤镜是libmpv的一个重要特性,允许开发者对视频进行各种实时处理和增强,从而满足用户对于个性化、创意化和高质量视频体验的需求。 滤镜是一种在视频渲染过程中应用特定效果的技术。…...

Harbor.cfg 配置文件参数详解

目录 Harbor.cfg 配置文件参数详解 所需参数: hostname: ui_url_protocol: max_job_workers: db_password: customize_crt: ssl_cert: ssl_cert_key: secretkey_path&#…...

模仿火星科技 基于cesium+ 贴地测量+可编辑

当您进入Cesium的编辑贴地测量世界,下面是一个详细的操作过程,帮助您顺利使用这些功能: 1. 创建提示窗: 启动Cesium应用,地图场景将打开,欢迎您进入编辑模式。在屏幕的一角,一个友好的提示窗将…...

模仿火星科技 基于cesium+角度测量+高度测量+可编辑

1. 创建提示窗: 启动Cesium应用,地图场景将打开,欢迎您进入编辑模式。 在屏幕的一角,一个友好的提示窗将呈现,随着您的操作,它会为您提供有用的信息和指导。 2. 绘制面积: 轻轻点击鼠标左键&a…...

Codeforces の 动态规划

Codeforces Round 785 (Div. 2) - C. Palindrome Basis dp(9/100) 题目链接 思路:整数划分基础上加一个判断回文的条件 整数划分思路:背包容量为n,物品有体积为1~n n种,每种无数个,求使背包恰好装满的方案数——完全背…...

数学建模-爬虫系统学习

尚硅谷Python爬虫教程小白零基础速通(含python基础爬虫案例) 内容包括:Python基础、Urllib、解析(xpath、jsonpath、beautiful)、requests、selenium、Scrapy框架 python基础 进阶(字符串 列表 元组 字典…...

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制概述

ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。 在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数…...

【力扣刷题 | 第二十五天】

目录 前言: 474. 一和零 - 力扣(LeetCode) 总结: 前言: 今天我们依旧暴打动态规划 474. 一和零 - 力扣(LeetCode) 给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集…...

GO学习之 函数(Function)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 文章目录 GO系列前言一、什么是…...

Jstack线上问题排查

1.top查找出哪个进程消耗的cpu高。执行top命令,默认是进程视图,其中PID是进程号(记下进程号) 2.top中shifth 或“H”查找出哪个线程消耗的cpu高 (记下最高的几个线程号) jstack 进程号 >> pid-cpu.…...

VIM 编辑器: Bram Moolenaar

VIM 用了很长时间, 个人的 VIM 配置文件差不多10年没有更新了。以前写程序的时候, 编辑都用这个。 linux kernel, boost规模的代码都不在话下。现在虽然代码写的少了,依然是我打开文件的首选。 现在用手机了,配个蓝牙键…...

鸿蒙应用开发指南:从零开始构建一款智能音乐播放器

介绍 随着鸿蒙操作系统的发布,开发者们迫不及待地想要探索鸿蒙应用的开发。本篇博客将以构建一款智能音乐播放器为例,带你一步步了解鸿蒙应用开发的技术要点和实践。我们将使用HarmonyOS的开发环境和MarkDown进行排版,方便你快速上手。 准备…...

如何实现对主机的立体监控?

主机监控是保证系统稳定性和性能的重要环节之一,那应该如何实现对主机的立体监控? 本期EasyOps产品使用最佳实践,我们将为您揭晓: 主机应该如何分组和管理? 主机监控应该关注哪些关键性指标? 背 景 通…...

机器学习笔记:李宏毅ChatGPT Finetune VS Prompt

1 两种大语言模型:GPT VS BERT 2 对于大语言模型的两种不同期待 2.1 “专才” 2.1.1 成为专才的好处 Is ChatGPT A Good Translator? A Preliminary Study 2023 Arxiv 箭头方向指的是从哪个方向往哪个方向翻译 表格里面的数值越大表示翻译的越好 可以发现专门做翻…...

中电金信:逐数兴业 智启未来——“数据二十条”影响之解读 (下)

在逐数兴业 智启未来——“数据二十条”影响之解读(上)篇内容中,主要解读了有关于“数据二十条”发布的背景与意义、建立数据要素市场面临的挑战与应对。在今天的文章里,将继续解读“数据二十条”的主要内容以及对金融行业和金融科…...

网站建设 事项/直销产业发展论坛

我越来越担心我作为一个测试工程师的未来。 恍然间,发现自己在这个行业里已经摸爬滚打了五年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过程中却遭到了重大的挫折。详细过…...

沧州公司做网站/培训计划和培训内容

下载及安装7z http://7-zip.org/download.html 常用命令 压缩 7z a -p密码 压缩路径及文件名 源路径及文件名 例如压缩./public/data/md5/目录下的所有文件到根目录,压缩包名称为po1.zip,密码为abcd 7z a -pabcd po1.zip ./public/data/md5/* 解压 7z x …...

个人网站与建设毕业论文/seo关键词推广公司

电脑桌面背景不能设置怎么办?一个好的桌面背景会让大家工作或是休闲娱乐的时候感到更加的心情愉悦,而且现在很多人都寻求个性化,系统配置的单一桌面已满足不了他们的需求,如何修改桌面背景成了大家考虑的问题。下面,我们就来看看…...

浙江疫情/兰州网络优化seo

标准霍夫变换的原理就是把图像空间转换成参数空间(即霍夫空间),例如霍夫变换的直线检测就是在距离 -角度空间内进行检测。圆可以表示为: ( x − a ) 2 + ( y − b ) 2 = r 2 (x-a)^2+(y-b)^2 = r^2...

青海公司网站建设/百度云资源搜索平台

一、前言 前后端分离开发是目前软件开发的主流,大大提高了开发效率 但也带来了很多不方便之处。 1、优点: ① 传统全栈开发的 MVC 模式将不适合,后台采取 MVP 面向接口编程,耦合度大大降低 2、缺点: ① 跨域问题…...

网站建设怎么付款/seo怎么优化排名

最近服务器经常出现打不开网站的现象,有时出现在上午,有时出现在中午,几乎天天都会出现一次,出现问题时,无论是回收程序池还是重启IIS或者关闭其它一些可能有影响的服务,都不能解决问题。网站打不开时&…...