如何将weblogic从物理机迁移到容器

如何将weblogic从物理机迁移到容器

1. 前言

目前,在电信行业大多依旧使用传统的IOE典型架构,按照应用类型及用途,以物理机为单位划分资源,存在资源未能高效利用的情况,资源扩容容易回收难。现有应用弹性扩缩容能力不够便利,部署及实施时间较长,人工参与较多。
相对而言,容器化的优势十分明显,物理计算资源虚拟化后分配,可以灵活调配计算资源,打破专机专用的限制,有效提高基础资源使用效率。统一的容器调度界面,可实现按照策略自动或手工的进行弹性扩缩容,更好应对高峰业务压力
weblogic作为一个基于j2ee架构的中间件,可用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。广泛应用于电信行业之中。
因此,将weblogic从物理机迁移至容器,可以更充分利用主机资源,容器的隔离特性提高了应用安全性,容器的弹性扩缩容可以更好应对高峰压力。

2. 分解

在迁移过程中,程序分解是基本步骤。
在物理机上运行的Weblogic Server包含三种类型的实例:

  • Administration Server(管理服务器)
  • Node Manager(节点管理器)
  • Managed Server(被管理服务器)

管理服务器是中心节点,通过它可以配置和管理集群中的所有资源。它通过与节点管理器连接增加或删除被管理节点。而被管理节点运行Web应用、EJBs、Web service和其他的资源。通常,每个物理机上运行一个节点管理器和多个被管服务服务器,而一个管理服务器则管理所有虚拟机上的所有实例。
容器技术提倡轻量化,因此可以将物理机上的多个被管理服务器成单个服务放置于各个容器中。

3. 迁移步骤

3.1 安装并初始化Docker

在Linux主机上安装Docker,具体方式参考官网安装方式:docker安装方式

3.2 创建weblogic镜像目录

在Linux主机上创建weblogic镜像目录,本次实验选择创建目录为/data/docker_images/web

mkdir -p /data/docker_images/web
3.3 下载weblogic、jdk安装介质

本次实验选择的weblogic版本为12.1.2.0.0,jdk版本为jdk1.7.0_40,将安装介质下载后解压至/data/docker_images/web目录下。
这里写图片描述

3.4 创建weblogic域

在物理机上按照默认方式创建一个名为JTEST的域,其路径为/webtest/webapp/domains/JTEST。
将domains目录拷贝至/data/docker_images/web。

3.5 编写启动脚本

在/data/docker_images/web编写启动脚本run.sh

#!/bin/bash
##### set Domain Env #####
echo export MEM_ARGS=\"-Xms2048m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=512m -XX:MaxPermSize=512m\" >> /webtest/webapp/domains/JTEST/bin/setDomainEnv.sh
##### start weblogic #####
/webtest/webapp/domains/JTEST/startWebLogic.sh >> /webtest/webapp/domains/JTEST/servers/AdminServer/logs/weblogic.out

其中startWebLogic.sh内容为

#!/bin/sh
# WARNING: This file is created by the Configuration Wizard.
# Any changes to this script may be lost when adding extensions to this configuration.
DOMAIN_HOME="/webtest/webapp/domains/JTEST"
${DOMAIN_HOME}/bin/startWebLogic.sh $*
3.6 编写Dockerfile

在/data/docker_images/web编写Dockerfile,本次实验选择的基础镜像为rhel:7.2。

FROM rhel:7.2
# Config the timezone
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ADD clock /etc/sysconfig/clock
# Config The YUM
ADD rhel-dvd.repo /etc/yum.repos.d/rhel-dvd.repo
RUN yum clean all && yum makecache
# Install Package
RUN yum -y install vi; yum clean all
# Create the installation directory tree and user tuxtest with a password of tuxtest
RUN mkdir /webtest; groupadd -g 500 webtest; useradd -g webtest -u 501 -d /webtest/webapp -m webapp
RUN echo webapp:webapp | chpasswd; echo root:root | chpasswd
#Copy install Weblogic file
ADD bea /bea
RUN chmod -R 755 /bea /webtest
# Config the webapp env
ADD domains /webtest/webapp/domains
ADD run.sh /webtest/webapp/run.sh
RUN chown -R webapp:webtest /webtest/webapp
USER webapp
WORKDIR /webtest/webapp
ENTRYPOINT /webtest/webapp/run.sh
3.7 制作镜像

在/data/docker_images/web执行命令,完成镜像制作。

docker build -t webtest:0.0.1 .
3.8 启动容器应用

在主机上使用root用户执行命令,完成容器的启动。

docker run -it webtest:0.0.1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值