jboss CLI 命令行接口学习(适用JBOSS EAP 6.2+)
一、确认CLI所使用的端口
以domain模式为例,查看domain controller(也就是master主机)上的host.xml
1 <management-interfaces>
2 <native-interface security-realm="ManagementRealm">
3 <socket interface="management" port="${jboss.management.native.port:9999}"/>
4 </native-interface>
5 <http-interface security-realm="ManagementRealm">
6 <socket interface="management" port="${jboss.management.http.port:9990}"/>
7 </http-interface>
8 </management-interfaces>
其中native.port对应的端口9999端口,即为CLI连接所需的端口
二、通过CLI连接到Jboss
$JBOSS_HOME/bin/jboss-cli.sh
connect 192.168.1.2:9999 (大家根据实际情况,把这里的IP换成master主机对应的ip和端口)
如果是连接远程主机,接下来会提示输入用户名/密码(即:jboss管理控制台的用户名、密码)
[domain@172.xxx.xxx.xxx:9999 /] (如果能看到这个,说明连接成功)
三、启动/停止指定Group下的所有Server
保持连接状态,直接输入
/server-group=group8080:stop-servers
如果返回
{ "outcome" => "success", "result" => undefined, "server-groups" => undefined }
表示已经成功将组group8080下的所有server停止。类似的,如果要启动该组下的所有server,把stop-servers,换成start-servers即可
四、启动/停止某个特定的Server
/host=master/server-config=server8080:stop
如果返回
{ "outcome" => "success", "result" => "STOPPING" }
表示master这台host上的server8080已经被停止,这里的master和server8080,对应于domain中的具体host名称及host下的server名称,为了便于理解,直接贴一张图:
五、查看某个Server的状态
ls /host=master/server-config=server8080
返回结果:
interface auto-start=true priority=undefined jvm cpu-affinity=undefined socket-binding-group=ha-sockets path group=group8080 socket-binding-port-offset=0 system-property name=server8080 status=STOPPED
其中status=STOPPED表示该Server已停止
六、部署应用/删除已经部署的应用
standalone 模式: 部署应用 deploy /<PATH>/TestApp.war 删除应用 undeploy TestApp.war 部署应用(但不启用) deploy /<PATH>/TestApp.war --disabled 将已部署但是未启用的应用,变成enable状态 deploy --name=TestApp.war 删除应用(但是保留文件),相当于disable undeploy TestApp.war --keep-content domain模式: 部署应用到所有server group deploy /<PATH>/TestApp.war --all-server-groups 删除应用 undeploy TestApp.war --all-relevant-server-groups 从某一个group上删除应用(但保留文件),相当于从某一个group上disable该应用 undeploy TestApp.war --server-groups=main-server-group --keep-content 将应用assign到某个group上 deploy /<PATH>/TestApp.war --server-groups=main-server-group 仅部署但是不启用 deploy /<PATH>/TestApp.war --disabled
七、其它命令
help --commands
还有很多其它命令就不逐一讲解了,大家可以用help --commands去查看,下面这些都是可用的命令 batch data-source history patch rollout-plan xa-data-source cd deploy if pwd run-batch clear deployment-info jdbc-driver-info quit shutdown command deployment-overlay jms-queue read-attribute try connect echo-dmr jms-topic read-operation undeploy connection-factory help ls reload version
如果某个命令不知道用法,比如:deploy 不知道怎么用,可以用 deploy --help 查看详细用法
最后,反问一个问题:既然jboss提供了web端的管理控制台,运维人员可以通过图形界面操作,学习CLI这东西有什么用 ?
答案:在大型集群(节点数>50)的部署环境中,假设新增一个数据源,想让新的数据源生效,必须重启所有相应group下的server,一个个手动点击效率太低了。上节我们学习如何用代码动态创建JNDI数据源,再加上本节的知识,完全可以写一个管理程序,让代码自动添加数据源,然后调用CLI shell命令,自动重启server,这样运维起来就方便多了,最终可以达到一键配置、一键部署的效果。
- golang简单tls协议用法完整示例
- spark开发环境详细教程1:IntelliJ IDEA使用详细说明
- MySQL数据库(五):索引
- hdu----(1466)计算直线的交点数(dp)
- golang模板template自定义函数用法示例
- 程序员你为什么这么累【续】:编写简陋的接口调用框架 - 动态代理学习
- hdu---(Tell me the area)(几何/三角形面积以及圆面积的一些知识)
- MySQL数据库(六):体系结构和存储引擎
- hdu----(2222)Keywords Search(trie树)
- MySQL数据库(七):数据导出与导入
- flume与kafka整合高可靠教程
- Oracle 12c系列(一)|多租户容器数据库
- Spring Security入门(三):密码加密
- MySQL数据库(八):表记录的基本操作(增删改查)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 初识TypeScript:查找指定路径下的文件按类型生成json
- Xamarin Forms WPF 干掉默认的窗口导航条
- WPF 从零手动创建承载 Xamarin Forms 项目
- 帝都房价回调?带你用Python了解北京二手房市场现状
- Zabbix 利用 ncat 监控远端端口状态
- MySQL“被动”性能优化汇总!
- H3C WA2610i-GN 无线AP FAT 配置案例
- java强引用、软引用、弱引用、虚引用以及FinalReference
- 读源码——JDK动态代理
- 图解红黑树
- 算法——递归
- LeetCode 94 | 基础题,如何不用递归中序遍历二叉树?
- 读源码——cglib动态代理
- 每日一题 | 字符串转换问题
- Git同时上传到github和码云(国内知名的男性交友网站)