tungsten】的更多相关文章

首先举例说明 api的基本使用方式 首先进行配置 , 可以看到源数据库和目的数据库 TungstenProperties tp=new TungstenProperties(); tp.setString(ReplicatorConf.SERVICE_NAME,"test"); tp.setString(ReplicatorConf.ROLE,ReplicatorConf.ROLE_MASTER); tp.setString(ReplicatorConf.PIPELINES,"…
背景 线上有很多的数据库在运行,后台需要一个分析用户行为的数据仓库.目前比较流行的是mysql和hadoop平台. 现在的问题是,如何将线上的mysql数据实时的同步到hadoop中,以供分析.这篇文章就是利用tungsten-replicator来实现. 环境 由于tungsten-replicator依赖ruby和gem.需要安装 yum install ruby yum install rubygems gem install json 其中json模块可能因为gfw的原因,需要手动下载到…
Spark Tungsten揭秘 Day4 内存和CPU优化使用 今天聚焦于内存和CPU的优化使用,这是Spark2.0提供的关于执行时的非常大的优化部分. 对过去的代码研究,我们会发现,抽象的提高,转过来会变成对CPU和内存的使用.也就是说,抽象提升,会对内存对Cpu会有很多不必要的使用,执行很多无谓的没有实际作用的操作.比如面向接口调用,就是使用了指针的指针,接口这层并没有实际的作用,可以直接跳过. whole-stage code Spark2.x的Tungsten中做了个非常重要的改进,…
Spark Tungsten揭秘 Day3 内存分配和管理内幕 恭喜Spark2.0发布,今天会看一下2.0的源码. 今天会讲下Tungsten内存分配和管理的内幕.Tungsten想要工作,要有数据源和数据结构,这时候会涉及到内存管理,而内存管理也是后续做很多分析和逻辑控制的基础. 内存分配 我们从内存分配的入口MemoryAllocator开始: allocate() 分配的是一块连续干净的内存空间,如果不是干净的话,会先用zero方法,把里面填充为0.我们注意到操作的数据结构都是Memor…
Spark Tungsten揭秘 Day2 Tungsten-sort Based Shuffle 今天在对钨丝计划思考的基础上,讲解下基于Tungsten的shuffle. 首先解释下概念,Tungsten-sort是对普通sort的一种优化,排序的不是内容本身,而是内容序列化后字节数组的指针(元数据),把数据的排序转变为了指针数组的排序,实现了直接对序列化后的二进制数据进行排序.由于直接基于二进制数据进行操作,所以在这里面没有序列化和反序列化的过程.内存的消耗大大降低,相应的,会极大的减少的…
Spark Tungsten揭秘 Day1 jvm下的性能优化 今天开始谈下Tungsten,首先我们需要了解下其背后是符合了什么样的规律. jvm对分布式天生支持 整个Spark分布式系统是建立在分布式jvm基础上的,jvm非常伟大的一点在于把不同机器的计算能力联合起来了,jvm也把不同机器的存储能力连接起来了. jvm是怎么做到这一点的,jvm本身就是一个软件,有自己的通讯方式以及自己的一套协议,在进行java或者scala开发的时候,就支持了一个最重要的设计模式:代理模式,基于代理模式可以…
[注意],当前的测试环境仅仅是一台服务器. 部署测试的tungten版本是2.1.2-xxxx; Requirements: mysql配置…
./tools/tungsten-installer --master-slave -a --datasource-type=mysql --master-host=master.puppet.org --datasource-user=tungsten --datasource-password=321 --datasource-log-directory=/var/lib/mysql --datasource-port=3306 --service-name=byRuiyHello --ho…
之前基于Tungsten Replicator实现了内部使用的分布式数据库的数据迁移工具,此文为当时调研Tungsten Replicator时的学习心得,创建于2015.7.22. 1 概述 1.1 介绍 Tungsten Replicator是数据库集群和复制供应商Continuent推出的高性能.开源的数据复制引擎,是Continuent最先进的集群解决方案的核心组件之一,特别适合作为异构数据库之间数据迁移的解决方案. Tungsten Replicator最新的稳定版本是tungsten…
在之前的博文中,我们回顾和总结了2014年Spark在性能提升上所做的努力.本篇博文中,我们将为你介绍性能提升的下一阶段——Tungsten.在2014年,我们目睹了Spark缔造大规模排序的新世界纪录,同时也看到了Spark整个引擎的大幅度提升——从Python到SQL再到机器学习. Tungsten项目将是Spark自诞生以来内核级别的最大改动,以大幅度提升Spark应用程序的内存和CPU利用率为目标,旨在最大程度上压榨新时代硬件性能.Project Tungsten包括了3个方面的努力:…