- 博客(103)
- 资源 (31)
- 收藏
- 关注
原创 3.eureka源码分析-eurekaclient的初始化
转自:http://blog.163.com/guixl_001/blog/static/4176410420108296361891/你对JVM内存组成结构和JVM垃圾回收机制是否熟悉,这里和大家简单分享一下,希望对你的学习有所帮助,首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。JVM学习笔记 JVM内存管理和JVM垃圾回收
2016-04-08 23:21:52 356
原创 spark源码阅读(十五)--securityManager
securityManager主要用于权限设置,比如在使用yarn作为资源调度框架时,用于生成secret key进行登录。该类默认只用一个实例,所以的app使用同一个实例,下面是该类的所有源代码:private[spark] class SecurityManager(sparkConf: SparkConf) extends Logging with SecretKeyHolder {
2016-04-07 13:27:02 1762
原创 spark源码阅读(十四)---sparkEnv类
sparkEnv为运行的spark实例(master,worker,executor等)持有运行环境相关的对象,sparkenv管理serializer, Akka actor system, block manager, map output tracker等对象。sparkEnv主要被内部使用,后面可能仅供内部使用。sparkEnv最重要的方法是createDriverEnv方法,该方法有三个
2016-04-07 13:06:00 704
原创 spark源码阅读(十三)---sparkConf类
sparkConf主要通过ConcurrentHashMap来维护各种spark的配置属性,加载以spark开头的属性。加载是通过system类来完成:if (loadDefaults) { // Load any spark.* system properties for ((key, value) <- Utils.getSystemProperties if
2016-04-07 11:59:38 1959
原创 2.eureka源码分析-eureka-server的启动与初始化
本文来自http://raksmart.idcspy.com/781 感谢原作者如何解决源码包安装时的依赖性问题自动解决依赖性故障手工解决依赖性问题Rpm软件包和共享库依赖性本教程可以找到解决linux版本中出现诸如:“libc.so.6 is needed by XXX”问题的答案,如果还是没有解决看上面的相关文章推荐在CentOS上的Canon LBP290
2016-03-31 20:20:59 9473
原创 1.eureka源码分析:eureka server的启动入口
rpm -ivh mysql-community-server-5.7.10-1.el5.i686.rpmwarning: mysql-community-server-5.7.10-1.el5.i686.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEYerror: Failed dependencies:解决
2016-03-31 19:17:37 2808
原创 spark源码学习(十二)--- checkpoint机制分析
checkpoint原理:上篇cacheManager源码分析文章中提到,当RDD使用cache机制从内存中读取数据,如果数据没有读到,会使用checkpoint机制读取数据。此时如果没有checkpoint机制,那么就需要找到父RDD重新计算数据了,因此checkpoint是个很重要的容错机制。checkpoint就是对于一个RDD chain,如果中间某些中间结果RDD,后面需要反复使
2016-03-03 21:33:00 1397
原创 spark源码学习(十一)---cacheManager分析
cacheManager的分析要从RDD说起,当读取数据的时候,调用RDD的iterator方法的时候,如果storeRageLevel不是none,那么说明之前进行过RDD的持久化,就不需要从从父RDD执行以获取数据,优先使用cacheManager获取持久化的数据。 final def iterator(split: Partition, context: TaskContext): I
2016-03-03 20:08:56 865
原创 spark源码学习(十)--- blockManager分析
blockManager主要原理:blockmanager位于org.apache.spark.storage中,包含四个重要的组件:DiskStore,MemoryStore,Blocktransferservice,ConnectionManager。其中,diskStore负责对磁盘上的数据读写;memoryStore负责内存数据的读写,connectionManager负责到远程节点的
2016-03-03 11:56:41 4920
原创 spark源码学习(九)--- shuffle过程源码分析
shuffle过程是spark运算的重要过程,也是spark调优的关键地方之一,在spark中的reduceByKey,groupByKey,sortByKey,countByKey,join,cogroup等操作时,都会触发shuffle过程。shuffle过程发生在shuffleMapTask与resultTask之间,当shuffleMapTask的输出数据先放到内存bucket中,buck
2016-03-02 21:20:01 905
原创 eclipse中配置python以及numpy库
本文描述的是python2.7,以及对应版本的numpy的安装。1.首先配置eclipse的python环境(1)配置pydev一是在eclipse里面搜索自动下载,但是这种方法容易被墙,安装不了。二是下载PyDev 2.7.1.zip,然后解压放到eclipse的dropins下,重启eclipse,新建工程出现pydev工程即可使用。下载地址:(2)配置python编译
2016-02-29 00:53:23 4727 1
原创 spark源码学习(八)--- executor启动task分析
本文基于spark1.6。上一篇文章提到TaskScheduler将task与executor分配好以后,交给executor来运行task,本文分析executor运行task。首先,在收到消息后,executor向driver注册,这部分的注册是由CoarseGrainedExecutorBackend而不是executor类来完成的。首先来看该类的初始化: override def
2016-02-21 13:05:49 1932
原创 spark源码学习(七)--- TaskScheduler源码分析
上一篇文章中,当程序执行到submitMissingTask的时候,会调用taskScheduler.submitTasks(new TaskSet(tasks.toArray, stage.id, stage.latestInfo.attemptId, jobId, properties))这个方法,其中的tasks是一个seq集合,每个partition会创建一个Task(ShuffleMap
2016-02-20 23:18:57 537
原创 spark源码学习(六)--- DAGScheduler中的task的划分
前面的文章中,当执行到submitstage的方法中,会调用到submitMissingTasks(stage, jobId.get) 这个方法。 private def submitMissingTasks(stage: Stage, jobId: Int) { logDebug("submitMissingTasks(" + stage + ")") // Get ou
2016-02-20 18:25:45 648
原创 spark源码学习(五)--- DAGScheduler中的stage的划分
上一篇文章中,当sparkContext初始化完成,并且worker也反向注册回来之后,程序代码开始运行,当遇到一个action操作的时候,该action函数会调用runjob函数,runjob最周会调用到DAGScheduler。本文将分析下面的DAGScheduler将一个job划分成若干个stage,每个stage又会分成若干个task,对与每个partition都会启动一个task,每个t
2016-02-20 15:56:19 1491
原创 spark源码学习(四)---job执行分析
在sparkRDD操作中,分为Transformation和action,Transformation是lazy操作,不会触发job,作业里的每个案出庭操作都会触发一个job,下面分析spark 从读取到计算的完整操作过程。在spark任务的代码里,在执行初始化sparkContext后,sparkContext调用textFile读取hadoop里的文件,下面分析读取过程: def t
2016-02-12 12:40:01 661
原创 spark源码学习(三)---worker源码分析-worker启动driver、executor分析
本文根据spark1.6源码。worker位于org.apache.spark.deploy.worker包下,本文分析worker对driver和executor的启动过程。前文分析中,当schedule方法会调用master的launchDriver方法以便启动driver: private def schedule(): Unit = { //如果当前的master处于st
2016-02-11 12:42:06 976
原创 spark源码学习(二)---Master源码分析(3)-master对driver、executor的调度
本文根据spark1.6源码。自己学习总结,错误之处请指正。schedule方法是资源调度的一个重要方法,当一个APp加入内存或者集群可用的资源发生变化的时候,就会调用该方法。该调度方法主要针对driver,worker,application的调度。首先获取所有可用的alive的worker,并将这个worker集合随机打乱,然后遍历获取等待调度的driver,如果worker的资源可以运行
2016-02-10 19:39:41 718
原创 spark源码学习(二)---Master源码分析(2)-master内组件状态改变机制
本篇学习master里面几个组件状态改变时发生的事情,自己写自己看,不对之处请拍砖。首先,来看driver的状态改变: case DriverStateChanged(driverId, state, exception) => { state match { //如果driver的状态是ERROR,Finished,killed,或者Failed
2016-02-09 13:24:03 737
原创 hadoop源码阅读之一:MR第二步:Mapper类
好久没写这个了 上一篇 http://blog.csdn.net/englishsname/article/details/45743901 还是好久前写的,下面学习mr步骤的第二步:Mapper过程源码,也就是我们所说的mapreduce的map阶段,自定义的mapper类都是继承自该类并实现其map方法。Mapper类包含:1.成员变量context:context继承自Map
2016-02-03 23:57:31 589 1
原创 spark源码学习(二)---Master源码分析(1)-master的主备切换机制
1.spark master HA 机制概览与hadoop一样,spark也存在单点故障问题,为此,spark的standalone模式提供了master的HA,与hadoop一样,一个是active,一个是standby状态,当active挂了,standby会顶上。spark HA的主备切换主要基于两种机制:基于文件系统和基于zk集群。前者在挂了后需要手动切换,而基于zk的HA可以自动实现
2016-02-03 23:24:12 1266 1
原创 spark源码学习(一)---sparkContext(2)
前面分析了sparkContext的TaskScheduler的启动过程,大致过程是创建一个TaskScheduler和一个SchedulerBackend,SchedulerBackend做为TaskScheduler的底层组件使用,TaskScheduler与master的交互都通过该组件完成。SchedulerBackend构造一个appdesc传给APPClient,AppClient会将
2016-02-03 22:08:25 672 1
原创 spark源码学习(一)---sparkContext(1)
一个sparkContext代表了一个连接到spark cluster的一个connection。sparkContext用来创建RDD,accumulators和broadcast变量,每个jvm只有一个sparkContext,这个限制后面可能不再适用。参见SPARK-2243。在我们的程序中通常构造一个sparkConf,然后用该sparkConf来构造SparkContext,任何对s
2016-02-02 23:26:52 1116
原创 13.zookeeper源码分析
测试环境cdh5.4.8,hue3.7(1)进入hue界面,登录,这里重新建立一个oozie账户,使用默认的admin也可以。(2)新建任务(3)新建(4)将sqoop1拖到指定位置(5)在出来的界面中写上需要执行的sqoop语句,点击添加(6)
2015-12-02 13:40:30 5014
原创 12.zookeeper源码分析
开发环境:cdh5.4.8,hive1.1最近需要开发一些永久的函数供业务使用,在hive的早期版本中,只能添加临时函数或者修改一些源代码来添加永久函数,后面找到了下面的文档来创建永久函数Permanent FunctionsIn Hive 0.13 or later, functions can be registered to the metastore, so they
2015-11-25 16:54:16 2780
原创 11.zookeeper源码分析
通过Oozie Web UI访问oozie 页面报错:Oozie web console is disabled.To enable Oozie web console install the Ext JS library.Refer toOozie Quick Startdocumentation for details.原因:缺少ext2.2包。解决
2015-10-23 09:18:55 2534 1
原创 10.zookeeper源码分析
1.设置selinux disabledvim /etc/selinux/config修改SELINUX=disabled2.关闭防火墙对每台机器:chkconfig iptables offservice iptables stop检查是否已经关闭chkconfig --list|grep iptables3.配置网络vim /e
2015-10-22 13:36:37 895
原创 9.zookeeper源码分析
安装Cloudera manager的时候页面卡住,一直获取lock获取不到。解决方法:到/tmp下找到该lock,然后删除
2015-10-22 13:31:48 1578
原创 7.zookeeper源码分析
启动hive的时候报错:[root@node107 shichao]# hive15/10/14 10:22:13 WARN conf.HiveConf: HiveConf of name hive.metastore.local does not existLogging initialized using configuration in jar:file:/opt/clo
2015-10-14 10:38:02 1748
原创 6.zookeeper源码分析
from pyspark import SparkContextlogFile = "/user/spark/text.dat" sc = SparkContext("local", "Simple App")logData = sc.textFile(logFile).cache()numAs = logData.filter(lambda s: 'a' in s).count
2015-10-10 17:45:30 3836
原创 5.zookeeper源码分析
最近在学习《spark机器学习这本书》,书中用到了ipython,机器用的是redhat版本,自带的Python2.6.6,安装的时候需要升级2.7以上,否则会报IPython requires Python version 2.7 or 3.3 or above.这个错。下面是解决的过程。1.Python安装升级步骤1)安装Pyhton2.7wget http://www
2015-10-10 10:56:46 1207
原创 4.zookeeper源码分析
hadoop的MR中的m和r阶段的kv键值对都需要实现序列化,hadoop自带的Text,LongWriable...等,有时候需要自定义java数据类型作为key value,下面实现一个最简单的序列化实现。package Test;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException
2015-10-02 11:36:04 654
原创 3.zookeeper源码分析
package kafkaTest;import java.util.Properties;import java.util.Random;import kafka.javaapi.producer.Producer;import kafka.producer.KeyedMessage;import kafka.producer.ProducerConfig;public clas
2015-10-02 11:30:32 618
原创 2.zookeeper源码分析
1.安装scalatar -zxvf scala-2.11.7.tgzexport SCALA_HOME=/usr/hadoop/scala-2.11.7export PATH=$PATH:$SCALA_HOME/bin2.安装jdkyum install jdk3.安装kafka下载:http://apache.fayea.com/kafka/0
2015-10-02 11:29:06 491
原创 yarn架构-Capacity Scheduler
yarn框架中调度器的一种-CapacityScheduler,调度器是yarn架构中的resourcemanager的一种可插拔式组件,该组件使得多用户可以共享集群资源,另外一种常用的调度器是Fair Scheduler。再次附上神图:在HOD架构中,每个用户或者用户组拥有私有的集群,这些集群是动态分配的,但是只有有限的弹性,这可能导致集群的效率低下和数据的局部性,组织间共享集群
2015-08-08 15:38:26 3738
原创 impala一些乱七八糟的整理
一、load操作1.不支持LOCAL关键字,不能load本地文件,只能load HDFS中的文件。2.同一张表不能同时存在压缩与非压缩格式的文件3.load操作是一个move操作。hive从本地磁盘的load操作是copy操作。4. hdfs文件夹中的load操作不会move隐藏文件。5.load后文件名会保留下来,如果有名称冲突,会把新move的文件改名,而在
2015-08-02 08:36:28 14390 3
原创 CDH升级记录(5.1->5.2)
CM升级运维:root统一密码不要误删集群备份文件登录cmserver安装的主机,执行命令:cat /etc/cloudera-scm-server/db.properties登录postgresql数据库psql -U scm -p 7432 输入密码:备份CM数据:pg_dump -h cdhmaster -p 7432 -U sc
2015-08-02 08:07:12 1150
原创 12.深入理解juc-并发容器-ThreadLocal
看完随便写写玩的,不是准确的翻译,不喜勿拍。。原文地址:http://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.htmlyarn架构yarn将jobTracker的两个功能-资源管理和作业调度(监控)拆分成了两个守护进程---RM和ApplicationMaster,一个任务可以是一个传统的
2015-08-02 07:59:24 662
C primer plus编程练习答案 C primer plus答案
2009-12-31
在Linux世界驰骋系列教程 linux电子书
2009-12-26
CISSP学习指南 cissp
2009-12-26
J2EE架构师手册.chm(英文的)
2009-12-26
IPV6详解 tcp ip IPv6、ICMPv6
2009-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人