云技术
__海盗__
山寨程序猿
展开
-
Docker命令速记
1、启动容器并映射宿主机到容器端口docker run -p 127.0.0.1:20001:22 -ti centos /bin/bash2、daemon方式启动容器docker run -d -p 127.0.0.1:5000:22 -ti centos /bin/bashdocker run -ti -p 0.0.0.0:7600:9600 -p 0.0.0.0原创 2015-01-09 15:44:23 · 1148 阅读 · 0 评论 -
JStorm之Topology提交客户端
一个topology包含一或多个spout bolt,spout负责在数据源获得数据并发送给bolt,每个bolt负责做完处理后发给下一个bolt。通常topology的创建是由TopologyBuilder来创建的,该组件会记录包含哪些spout bolt,并做相应验证:各组件是否有id冲突,校验方法如下:private void validateUnusedId(String id) {原创 2015-01-16 15:30:03 · 1718 阅读 · 0 评论 -
AUFS使用实例
AUFS使用实例 什么是AUFS,简单说就是一个文件系统,可以把不同的目录联合在一起。这种文件系统不用格式化,直接挂载即可。之所以有这篇博文,是因为Docker中要使用它。在Ubuntu 12.0.4下安装比较简单,其他系统需自己研究。直接apt-get install就可以了,安装后如下:root@localhost:/tmp/test/aufs#cat /etc/issueUbun原创 2014-12-19 17:43:04 · 5656 阅读 · 0 评论 -
Spark stage切分和提交
客户端构建好RDD的DAG以后,会提交至DAGScheduler来处理,这是一个Stage级别的调度器,他首先会把作业切分为一个个Stage,每个Stage由一组相同运算的tasks组成,然后会以taskset的形式提交给TaskScheduler。DS还会跟踪stage的输出与物化情况、检测task运行时的最优位置,重新提交失败的stage。 DAGSheduler接收到J...原创 2015-11-10 19:15:21 · 1826 阅读 · 0 评论 -
Spark TaskSet提交及执行准备
一个stage是由一组相同运算的task组成,他们分别计算不同的partition,stage的提交实际是向调度器提交一组包含相同计算的task,这里调度器的名字是TaskScheduler,其调度单位是taskset,stage在提交是使用了递归算法,会先提交没有parent stage的stage,代码如下: private def submitStage(stage: Stage) {原创 2015-11-11 19:31:36 · 2152 阅读 · 0 评论 -
spark shuffle内存申请策略
在一个executor中可以并行执行多个task,这些task都可能发生shuffle,每个task看作一个线程,这些线程公用一个内存池,这时就涉及到内存的使用策略了,申请过多会导致其他task spill内存不足,过少又会影响自身效率,spark中对这块的内存管理位于ShuffleMemoryManager类中,基本的分配策略是如果线程数为n,那么spark可以确保一个线程的内存在1/n和1/2原创 2015-11-16 19:45:26 · 1180 阅读 · 0 评论