第3节 sqoop:7、通过java代码远程连接linux执行shell命令

时间:2023-03-08 16:15:52
第3节 sqoop:7、通过java代码远程连接linux执行shell命令

数据库的数据同步软件
sqoop 数据同步 关系型数据库到大数据平台

任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步

实时的数据同步工具:
canal 阿里开源的一个数据库数据实时同步的软件,解析mysql的binlog日志进行数据同步
streamset 数据库的数据同步工具
flume 采集mysql的变化的数据,github上面有这样的一个项目,自定义source实时抽取mysql的数据

==================================================================

3、java执行shell命令

需求描述:在实际工作中,总会有些时候需要我们通过java代码通过远程连接去linux服务器上面执行一些shell命令,包括一些集群的状态管理,执行任务,集群的可视化界面操作等等,所以我们可以通过java代码来执行linux服务器的shell命令

为了解决上述问题,google公司给提出了对应的解决方案,开源出来了一个jar包叫做sshxcute,通过这个jar包我们可以通过java代码,非常便捷的操作我们的linux服务器了

项目地址如下:

https://code.google.com/archive/p/sshxcute/

使用说明

https://www.ibm.com/developerworks/cn/opensource/os-sshxcute/

第一步:创建maven的java工程并导入jar包

由于这个jar包没有maven坐标,所以需要我们手动导入并添加到工程的build path当中去

第二步:开发测试用例

public static void main(String[] args) throws TaskExecFailException {

ConnBean connBean = new ConnBean("192.168.8.100", "root", "yourpassword");

SSHExec instance = SSHExec.getInstance(connBean);

instance.connect();

ExecCommand execCommand = new ExecCommand("echo 'hello world'");

instance.exec(execCommand);

instance.disconnect();

}