weblogic 集群 linux weblogic nodemanager
各位老铁们好,相信很多人对weblogic 集群 linux都不是特别的了解,因此呢,今天就来为大家分享下关于weblogic 集群 linux以及weblogic nodemanager的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
linux如何选择方向
如何入门及如何规划自己的Linux学习之路一直是困扰Linux爱好者的一大难题,实际上,Linux的入门与学习并不难,只是由于长期使用其他操作系统的习惯与没有正确的引导指向,所以一个本身不是难题的问题变成了难题。我这里想提一个问题给同学们:企业为什么要用linux,为什么要用unix?许多同学会说Linux/unix更好,更稳定,其实不然。企业为什么要用它们,其实是本着节约成本和创造价值的目的。服务器操作系统的软件投入和服务投入是相当大的经费,这也是现在为什么开源免费的CentOS和 FreeBSD越来越受欢迎的原因之一。再说下硬件的负载均衡器,我说下大家最为熟悉的F5,性能一般的17万;性能越好,价格也水涨船高。但其实许多企业所需要的Linux集群环境其实并发不是大太,完全可以用开源免费的软件来代替,例如LVS、Nginx,而这些软件一般都是部署在Linux上,这也是近年来Linux越来越受欢迎的原因之一。另外,千万不能仅仅学习Linux系统本身。Linux仅仅是操作系统,重要的是其上的应用,就是能为你能创造多少价值。学习Linux的一个误区在于精力只是局限于Linux本身,从Linux的操作到Linux的内核,也不管自己到底要干嘛;但是系统毕竟是拿来用的,学习使用Linux的目的是创造效益,如果不是仅仅制作Linux系统,不是加入Red Hat这样的专业Linux发布版厂商,那么你在学习了Linux基础后就跟掌握了Windows没两样,很显然这是不够的,你还需要更进一步的学习:选择Linux上的应用,或者Linux上的软件开发,当然还有数据库方向。下面我就这三方面详细说明下:
a)Linux的系统、网络、服务、集群、网站、网络应用方向:
1、Web应用服务器,如sina、百度等大型网站
2、Mail应用服务器,如163或外企mail系统等
3、中间件或J2EE服务器,如为JBOSS Weblogic做平台
4、网络应用等。
b)嵌入式开发、UNIX/Linux应用系统开发,Linux内核驱动开发方向,主要有以下几类:
1、Linux下的C/C++系统程序开发
2、Linux平台Java体系开发和PHP开发
3、Linux下的图形界面开发
4、Linux底层内核/驱动开发
5、嵌入式Linux开发等。
c)Linux下的数据库,如Mysql、oracle和windows下的SQL Server及DB2等。数据库的重要性我就不重复了,而DBA的作用称得上举足轻重了:在技术类岗位的薪资待遇上,总监之下就是DBA了。51CTO也有专门的数据库频道,编辑在这里推荐一下。以上是Linux/unix发展的三个方向,大家可以在平时工作和学习中有所偏重,三个专业精通一个即可。注意我这里说的是精通,而非仅仅熟悉的程度。如果按照地域划分,Linux/unix系统运维方面的工作适合在北京、上海、深圳和广州,开发比较适合在杭州和南京等地区。说来惭愧,我生活的武汉,Linux/unix应用比较少,其系统运维方面的工作还真是不好找,我2009年回武汉发展时,好不容易托猎头朋友在外企找了个system admin的职位;而且北京、上海那边许多成熟的开源技术,如LVS、CDN,在武汉这边基本是看不到的,甚是遗憾。我这里想说的是:如果是初学Linux/unix的同学,建议可以以RHEL/CentOS为主,在找工作中尽量不要想到待遇问题,在工作实践中,尽量熟悉shell和一些基础的网络应用,内网开发服务器的配置环境一定要熟悉;如果有机会出外做项目的,一定要兢兢业业,因为这个是成长得最快最好的时候。另外,无论是学习还是施工期间,有关环境配置一定要形成文档,尽量写得详细和完善,这样无论是对自身技术提高还是跟同事进行工作交接都是非常有帮助的;如果没有对外项目的机会,可以写技术型博客,详细记录自己的学习过程。如果想进一步提高自己的水平,建议多上一些跟linux/unix有关的论坛,跟一些同行或技术大牛交流,这样提高起来也非常快。如果是资深的linux/unix的系统管理员,建议可以脱离系统级别,向网络架构师的发向发展。网络架构是件艺术活,有时系统性能就是看网站架构师的能力了。通常情况下,此职位由公司的技术总监担任,它要求技术总监对系统、程序、网络及数据库都有相当的了解。唠唠叨叨半天了,希望我这篇文章对广大的 Linux新人及系统管理员有所帮助,最后祝大家工作愉快!////////////////////////////////////////////////////////////////////////////////////////////////////////
linux现在用的越来越多,归结起来。主要有两个领域在用linux:
1,作为服务器;
2,作为嵌入式系统产品的支持操作系统;对第一个领域来说,通常可能是要作为WEB服务器来使用。如果你去做这个,需要熟悉譬如Linux, Apache, Mysql, PHP的使用和开发即可。这四个合起来被称为 LAMP。当然,做服务器应用的可能还需要学习类似的,如 java, oracle之类的技术和软件。总体来说,学习这些东西其实并不难,市场上也已经有很多人在做这方面的事情。所以,假如你现在继续跟进的话,可能将来不会有太大的发展。对第二个领域,相比第一个领域来说,其挑战和机遇要更多一些。现在各行各业都会用到嵌入式的应用,比方信息家电,医疗电子,通信设备,工业控制等各领域。另外一个原因,现在做方面的人,虽然比前几年多了一些,但总体上还是供不应求,况且市面上很多人都只是知道一个皮毛,远没有到熟悉或者精通的地步。所以,我的建议,假如你此刻面临选择,那不如就选这个方向。当然,进入这第二个领域也比第一个领域要难的多,其要学习掌握远不止是软件层面的东西,它要求你软硬件都懂,上面的应用层和下面的底层也都懂。:)正是要学的东西多,难度高,所以才注定了现在参与其中的人还不算多。同样的,假如你想完全靠自己自学来进入这个领域,也是颇有困难的,最好的办法就是找到一个在这方面有着很丰富实际经验的团队,在他们的指导下进行学习,这样将会事半功倍。
两台linux服务器如何实现weblogic跨服务器session共享
Session共享有多种解决方法,常用的有四种:客户端Cookie保存、服务器间Session同步、使用集群管理Session、把Session持久化到数据库。
1.客户端Cookie保存
以cookie加密的方式保存在客户端,每次session信息被写在客户端,然后经浏览器再次提交到服务器,即使两次请求在集群中的两台服务器上完成,也可以到达session共享。
优点是减轻服务器端的压力;
缺点是受到cookie的大小限制,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户禁止使用cookie的情况下无效。
传统网站一般通过将一部分数据存储在cookie中,来规避分布式环境下session的操作。这样做的弊端很多,一方面cookie的安全性一直广为垢病,另一方面cookie存储数据的大小是有限制的。随着移动互联网的发展,很多情况下还得兼顾移动端的session需求,使得采用cookie来进行session同步的方式的弊端更为凸显,分布式session正是在这种情况下应运而生的。
2.服务器间Session同步
定时同步各个服务器的session信息,此方法可能有一定延时,用户体验也不是很好。
使用主-从服务器的架构,当用户在主服务器上登录后,通过脚本或者守护进程的方式,将session信息传递到各个从服务器中,也可以手工把session文件存放的目录改为nfs网络文件系统,从而实现文件的跨机器共享(使用nfs或windows文件共享都可以,或者专用的共享存储设备)。
这样,用户访问其它的从服务器时,就可以读到session信息。
缺点:比如速度慢、不稳定等,另外,如果session信息传递是主->从单向的,会有一些风险,比如主服务器down了,其它服务器无法获得session信息。
3.把Session持久化到数据库
这种共享session的方式即将session信息存入数据库中,其它应用可以从数据库中查出session信息。目前采用这种方案时所使用的数据库一般为mysql。
利用数据库共享session的方案有一定的实用性,但也有如下缺点:
首先session的并发读写在数据库中完成,对mysql的性能要求比较高;
其次,我们需要额外地实现session淘汰逻辑代码,即定时从数据库表中更新和删除session信息,增加了工作量。
对于系统可靠性要求较高的用户,可以将session持久化到DB中,这样可以保证宕机时会话不易丢失,但缺点也是显而易见的,系统的整体吞吐将受到很大的影响。
4.使用集群管理Session
将session统一存储在缓存集群上,如memcache,这样可以保证较高的读、写性能,这一点对于并发量大的系统来说非常重要;并且从安全性考虑,session毕竟是有有效期的,使用缓存存储,也便于利用缓存的失效机制。
使用缓存的缺点是,一旦缓存重启,里面保存的会话也就丢失了,需要用户重新建立会话,可以使用缓存集群来保证缓存的稳定性。
如图(基于缓存的分布式session架构)所示,前端用户请求经过随机分发之后,可能会命中后端任意的Web Server,将session以sessionid作为key,保存到后端的缓存集群中,使得不管请求如何分配,即便是某个Web Server宕机,也不会影响其他Web Server获得 session,这样既实现了集群间的session同步,又提高了 Web Server的容错性。
Tomcat作为Web Server时,可以通过一个简单的工具memcached-session- manager9(一个Tomcat session共享解决方案),实现基于memcache的分布式session。
如何使用NodeManager管理WebLogic集群
1.首先,要确认在安装Weblogic Server的过程中,勾选NodeManager选项,如下图,默认是不选中的,为了后期能简单的使用节点管理器,这里需要选择Yes,然后完成软件安装。
2.其次,创建Domain的过程参考:
a)选择创建Domain的类型
b)确认创建Domain的类型
a)确认集群名称
b)确认管理员用户名、口令
c)选择Domain的模式
d)选择修改Domain选项Yes,选择不配置DBMS
e)确认主管服务器的IP地址、端口、名称
f)确认受管服务器的IP地址、端口、名称
g)确认集群的地址、端口、名称
h)确认集群中有哪些受管服务
i)确认代理服务器的配置
j)确认物理服务器的信息(以Linux服务器为例)
k)确认哪些服务器运行在哪些物理机器上
l)确认集群Domain创建设置
m)完成集群创建
3.配置weblogic访问口令脚本
要确认在启动Domain的Server时,不需要输入用户名、口令,方法(Linux平台,Windows平台参考修改setDomainEnv.cmd)如下:
a)第一步,按11g版本前的方法,在自己的${DOMAIN_HOME}文件夹下,创建boot.properties文件,内容为:
username=weblogic
password=welcome1
b)第二步,修改${DOMAIN_HOME}/bin文件夹下的setDomainEnv.sh,找到【# SET THE CLASSPATH】这行,修改其上面两行内容:
从:
JAVA_OPTIONS="${JAVA_OPTIONS}"
export JAVA_OPTIONS
修改为:
JAVA_OPTIONS="${JAVA_OPTIONS}-Dweblogic.system.BootIdentityFile=${DOMAIN_HOME}/boot.properties"
export JAVA_OPTIONS
4.配置主机名与IP映射关系
要确认主机名与IP地址有对应关系,修改主机的hosts文件,加入
192.168.182.12 oradb2
这里,如果发现127.0.0.1对应到了oradb2这个主机名,应将其对应去掉,只需要127.0.0.1映射到localhost即可。
5.如何用NodeManager管理集群服务器
为了能让nodemanager可以管理weblogic的domain,必须先启动nodemanager进程,方法为:
cd/home/weblogic/bea/wlserver_10.3/server/bin
./startNodeManager.sh
接下来,可以启动AdminServer,方法为:
cd/home/weblogic/bea/user_projects/domains/my_domain/bin
./startWebLogic.sh
接下来的服务都可以在weblogic的console中进行启动了,登录访问控制台页面:
点击服务器,打开服务器管理页面:
点击【控制】标签页,要管理哪个服务器,就勾选哪个,比如勾选MS_1,点击【启动】,就可以完成MS_1这个服务器:
点击【是】按钮:
这时【MS_1】,状态已经为STARTING
等待一段时间后:
最终MS_1就正常运行了,状态RUNNING