写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
来源:互联网 发布:叶子楣 知乎 编辑:程序博客网 时间:2024/06/13 13:03
本博文转自写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
#!/bin/bashif [ $# != 2 ]; then echo "useage: $0 <hdfs_file> <dest_dir>" exit 1fiCURR_PATH="$(cd "`dirname "$0"`"/; pwd)"hosts_file=$CURR_PATH"/hosts"if [ ! -f "$hosts_file" ]; then echo "$hosts_file not exist" exit 1fisource_file=$1dest_dir=$2filename=$(echo $source_file | awk -F '/' '{print $NF}')destfilename=$dest_dir"/"$filenameecho $filenameecho $destfilenamehadoop fs -get $source_file $dest_dirfor h in $(cat $hosts_file)do scp $destfilename root@$h:$destfilenamedone
原理就是在主节点上(能够免秘钥ssh集群其他所有节点)执行该脚本(取名为distribute-file),hdfs_file为hdfs上的一个文件的完整路径,dest_dir为节点本地目录用来存放分发文件的目录。
必须以root用户执行,与该脚本同级目录下面必须放置一个名叫hosts的文件,里面写上你要分发的所有的节点的hostname。
eg.:
./distribute-file /user/hdfs/tmp/fairscheduler.xml /etc/Spark
#!/bin/bashif [ $# != 1 ]; then echo "useage: $0 <cmd>" exit 1fiCURR_PATH="$(cd "`dirname "$0"`"/; pwd)"hosts_file=$CURR_PATH"/hosts"if [ ! -f "$hosts_file" ]; then echo "$hosts_file not exist" exit 1firemote_cmd=$1for h in $(cat $hosts_file)do ssh root@$h "$remote_cmd"done
远程分发执行命令脚本(取名叫distribute-exec),通过免秘钥ssh到远程主机上执行命令,用法大体和上面那个脚本相似,也是要当前目录下面放置hosts文件,举例:
./distribute-exec “cd /opt/cloudera/parcels/CDH/lib/spark/lib; rm -f spark-assembly.jar; ln -s spark-assembly-with-hive-cdh5.3.2.jar spark-assembly.jar;”
多个命令之间用分号分隔
0 0
- 写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
- 写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
- linux的shell脚本和dd命令把镜像文件写到SD卡上
- 执行系统命令并且将输出写到指定日志文件的shell脚本(2)
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- 利用python fabric模块写的批量操作远程主机脚本(命令执行,上传、下载文件)
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- python写的批量操作远程主机脚本(命令执行,上传、下载文件)
- 通过脚本实现简单替换Hdfs上的文件
- 十七周四次课(11月30日) 20.31 expect脚本同步文件 20.32 expect脚本指定host和要同步的文件 20.33 构建文件分发系统 20.34 批量远程执行命令
- 看了一天ruby写的第一个脚本 ,仅仅用来纪念一下
- 执行系统命令并且将输出写到指定日志文件的shell脚本(1)
- 写个设置命令的VBS脚本工具。
- 使用expect和ssh远程执行命令的脚本
- 写了个RHEL下修改网卡的简单脚本
- 获取HDFS集群上所有节点名称信息
- HDOJ(HDU) 2156 分数矩阵(嗯、求和)
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- 274. H-Index
- linux下利用valgrind工具进行内存泄露检测和性能分析
- 修改IntelliJ IDEA中Maven项目的默认JDK版本
- 写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
- 初学android开发--Fragment
- UILabel 标签
- bzoj 1042: [HAOI2008]硬币购物(容斥原理)
- BestCoder Round #66 GTW likes math
- BootStrap应用实例学习笔记
- iOS应用架构谈 view层的组织和调用方案
- Android利用Gson库解析复杂结构的JSON数据
- 设计模式6大设计原则