写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
来源:互联网 发布:牛贝 微信淘宝客 7.01 编辑:程序博客网 时间:2024/05/16 19:32
#!/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集群上所有节点名称信息
- 2015.4.1前的总结
- Node.js获取当前代码/启动目录
- easyui动态合并行
- IKAnalyzer 扩展分词库
- 二叉树的遍历(一)
- 写了2个简单的工具脚本用来分发hdfs集群上的文件到所有节点,和远程执行命令
- 关于Android stdio使用的一些小问题的解决方法
- Python 讨厌的MemoryError
- 大神博客资源
- openstack keystone的高可用分析
- C语言HTTP请求GET
- android压力测试命令monkey详解
- linux 正则表达式和grep命令
- java get请求中文乱码