大数据常用集群脚本一、集群分发同步脚本1.1 在/bin目录下创建xsync文件1cd /bin && vim xsync
1.2 xsync集群分发同步Shell脚本12345678910111213141516171819202122232425262728#!/bin/bash#1. 判断参数个数if [ $# -lt 1 ]then echo Not Enough Arguement! exit;fi#2. 遍历集群所有机器for host in master slave1 slave2do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4 判断文件是否存在 if [ -e $file ] then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file ...
数据开发
未读Spark的宽窄依赖如何划分宽窄依赖如果子RDD的一个分区完全依赖父RDD的一个或多个分区,则是窄依赖,否则就是宽依赖。这个完全依赖怎么理解呢?其实就是父RDD一个分区的数据是否需要切分,或者说子RDD分区要依赖父RDD分区的全部而不仅仅是一部分。上面这样说相对比较严谨,但也会有特殊情况,比如在只有一个分区的情况下,强行使用repartiton操作,即使父子RDD各自只有一个分区,也是宽依赖。这种情况生产中不会遇到,但要知晓。Narrow DependiesVolantis
通过 Akka 构建简单的 Spark 通信框架实现思路:
构建Master、Worker阶段
构建 Master ActorSystem、 Actor
构建 Worker ActorSystem、 Actor
Worker注册阶段
Worker进行向Master注册(将自己的ID、CPU 核数、内存大小(MB)发送给 Master)
Worke定时发送心跳阶段
Worke定期向Master发送心跳消息
Master定时心跳检测阶段
Master定期检测Worker心跳,将一些超时的Worker移除,并对Worker按照内存进行倒序排列
多个Worker测试阶段
启动多个Worker,查看是否能注册成功,并停止某个Worker查看是否能正常移除