摘要:只需要确保您的电脑已装好Java环境,那么就可以开始了。 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和Hadoop主要是用到了Yarn,因此Hadoop必须安装) 下载地址:http://apache.fayea.com/hadoop/common/hadoop-2.7.1/
阅读全文
摘要:对于从Kafka、Flume以及Kinesis这类数据源提取数据的流式应用来说,还需要额外增加相应的依赖项,下表列出了各种数据源对应的额外依赖项:
阅读全文
摘要:Spark SQL有两种方法将RDD转为DataFrame。 1. 使用反射机制,推导包含指定类型对象RDD的schema。这种基于反射机制的方法使代码更简洁,而且如果你事先知道数据schema,推荐使用这种方式; 2. 编程方式构建一个schema,然后应用到指定RDD上。这种方式更啰嗦,但如果你
阅读全文
摘要:Spark远程调试 本例子介绍简单介绍spark一种远程调试方法,使用的IDE是IntelliJ IDEA。 1、了解jvm一些参数属性 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8888 这里对上面的几个参数进
阅读全文
摘要:Spark集群模式&Spark程序提交 1. 集群管理器 Spark当前支持三种集群管理方式 Standalone—Spark自带的一种集群管理方式,易于构建集群。 Apache Mesos—通用的集群管理,可以在其上运行Hadoop MapReduce和一些服务应用。 Hadoop YARN—Ha
阅读全文
摘要:执行时需要传入的参数说明 Usage: spark-submit [options] <app jar | Python file> [app options] 参数名称 含义 --master MASTER_URL 可以是spark://host:port, mesos://host:port,
阅读全文
摘要:基于maven配置的scala开发环境,首先需要安装 idea 的scala plugin.然后就可以使用maven编译scala程序了.一般情况下都是java scala的混合,所以src下面有java scala两个源文件目录. 1 <?xml version="1.0" encoding="U
阅读全文
摘要:hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> whoami hbase(main)> list hbase(main)> list hbase(main)> l
阅读全文
摘要:在java中操作XML的工作中中,比较方便的工具是JAXB(Java Architecture for XML Binding)。 利用这个工具很方便生成XML的tag和Java类的对应关系。参照网上的资料,简单说明一下java操作xml的一些东西。 1.先定义一个XML Schema文件。比如:
阅读全文
摘要:默认情况下,Jaxb编组出来的xml中的字段顺序是随机的,你可以使用@XmlType的propOrder属性 来指定序列化的顺序。 第一步:定义java类时,使用@XmlType(propOrder = { "id", "name", "age","book"})指定输出顺序。 Java代码 pac
阅读全文
摘要:当java对象的某个属性使用泛型时,普通对象都没问题,但是遇到HashSet这种集合类封装的元素时,就会出现元素内容序列化不出来的问题,详见如下: 一、示例: 第一步:定义java对象 Java代码 package step3; import javax.xml.bind.annotation.Xm
阅读全文
摘要:一、简介 1、概念是什么:(Java Architecture for XML Binding) 是一个业界的标准,即是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。有多
阅读全文
摘要:本文从互联网收集并整理了推荐系统的架构,其中包括一些大公司的推荐系统框架(数据流存储、计算、模型应用),可以参考这些资料,取长补短,最后根据自己的业务需求,技术选型来设计相应的框架。后续持续更新并收集。。。 图1 界面UI那一块包含3块东西:1) 通过一定方式展示推荐物品(物品标题、缩略图、简介等)
阅读全文
摘要:目录 前言 IO模型 网络编程模型 参考资料 前言 说到IO模型,都会牵扯到同步、异步、阻塞、非阻塞这几个词。从词的表面上看,很多人都觉得很容易理解。但是细细一想,却总会发现有点摸不着头脑。自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了,然后很快又给搞混了。经历过这么几次之后,发现这东西必
阅读全文
摘要:数据 什么是数据? 最近有一本很火的书叫《精益数据分析》,其核心的一个观点就是:需要用数据驱动产品和公司的发展,而不能靠直觉或者拍脑袋。可见,数据是多么的重要。在一个产品的生命周期中,会产生很多数据:用户信息、用户行为信息、ugc数据等等。这些数据表现形式可以为文字、图片、日志、视频、音频等等。 从
阅读全文
摘要:一. 微服务 二. Api Gateway 三. Kong 的使用 一. 微服务 对于一些传统的 大型项目,传统的方式会有一些缺陷,比如说 新人熟悉系统成本高(因为整个系统作为一个整体,彼此会有一定的牵连),项目重 启时间长,重构困难(对于一个新技术的引入,可能需要对整个项目推到重来),不易于更换新
阅读全文
摘要:对于一个互联网企业,后端服务是必不可少的一个组成部分。抛开业务应用来说,往下的基础服务设施做到哪些才能够保证业务的稳定可靠、易维护、高可用呢?纵观整个互联网技术体系再结合公司的目前状况,个人认为必不可少或者非常关键的后端基础技术/设施如下图所示: Api网关 业务应用和后端基础框架 缓存、数据库、搜
阅读全文
摘要:一、查看Linux内核版本命令(两种方法): 1、cat /proc/version [root@localhost ~]# cat /proc/versionLinux version 2.6.18-194.8.1.el5.centos.plus (mockbuild@builder17.cent
阅读全文
摘要:转:http://blog.csdn.net/horsefoot/article/details/51249161 本次分析的kubernetes版本号:v1.2.1-beta.0。 Kubernetes中kube-proxy组件负责维护NODE节点上的防火墙规则和路由规则,Kube-proxy有两
阅读全文
摘要:概述 自从docker容器出现以来,容器的网络通信就一直是大家关注的焦点,也是生产环境的迫切需求。而容器的网络通信又可以分为两大方面:单主机容器上的相互通信和跨主机的容器相互通信。而本文将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker。 docker单主机容器通信
阅读全文
摘要:[-] 服务注册发现负载均衡和健康检查 Facebook的项目开发流程和工程师绩效管理机制 今日头条服务化探索及实践历程 云端基于Docker微服务应用的架构实践 Intel如何优化Spark应用的性能 滴滴出行iOS客户端架构演进之路 服务前端路由 服务容错 服务框架 运行期配置管理 Netfli
阅读全文
摘要:本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 1.XA XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource
阅读全文
摘要:系统经sharding改造之后,原来单一的数据库会演变成多个数据库,如何确保多数据源同时操作的原子性和一致性是不得不考虑的一个问题。总体上看,目前对于一个分布式系统的事务处理有三种方式:分布式事务、基于Best Efforts 1PC模式的事务以及事务补偿机制。我们下面对这三种处理方式一一进行分析。
阅读全文
摘要:当团队对系统业务和数据库进行了细致的梳理,确定了切分方案后,接下来的问题就是如何去实现切分方案了,目前在sharding方面有不少的开源框架和产品可供参考,同时很多团队也会选择自主开发实现,而不管是选择框架还是自主开发,都会面临一个在哪一层上实现sharding逻辑的问题,本文会对这一系列的问题逐一
阅读全文
摘要:第一部分:一些常见的主键生成策略 一旦数据库被切分到多个物理结点上,我们将不能再依赖数据库自身的主键生成机制。一方面,某个分区数据库自生成的ID无法保证在全局上是唯一的;另一方面,应用程序在插入数据之前需要先获得ID,以便进行SQL路由。目前几种可行的主键生成策略有:1. UUID:使用UUID作主
阅读全文
摘要:第一部分:实施策略 图1.数据库分库分表(sharding)实施策略图解(点击查看大图) 1.准备阶段对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系统业务逻辑和数据库schema.一个好的建议是绘制一张数据库ER图或领域模型图,以这类图为基础划分shard,直观易行,可以确保开
阅读全文
摘要:一、基本思想 Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但
阅读全文
摘要:云计算多租户几乎用于所有软件即服务 (Software as a Service, SaaS) 应用程序,因为计算资源是可伸缩的,而且这些资源的分配由实际使用决定。话虽如此,用户可以通过 Internet 访问多种类型的 SaaS 应用程序,从小的基于 Internet 的小部件到大型企业软件应用程
阅读全文
摘要:什么是Ingress 在Kubernetes中,Service和Pod的IP地址只能在集群内部网络中路由,所有到达“边界路由器”(Edge Router)的网络流量要么被丢弃,要么被转发到别处,从概念上讲,它类似下图: Ingress是对外(公网)服务到集群内的Service之间规则的集合:允许进入
阅读全文
摘要:spring cloud官方文档提到的服务开发的12项要素。 I. Codebase从一个代码库部署到多个环境。II. Dependencies使用显式的声明隔离依赖,即模块单独运行,并可以显式管理依赖。III. Config在系统外部存储配置信息。IV. Backing Services把支持性服
阅读全文
摘要:spring 顶级项目:Spring IO platform:用于系统部署,是可集成的,构建现代化应用的版本平台,具体来说当你使用maven dependency引入spring jar包时它就在工作了。Spring Boot:旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入
阅读全文
摘要:原文地址http://microservices.io/patterns/service-registry.html,谷歌翻译(略微调整)如下。 背景 使用服务的客户端可以采取客户端发现(Client-side discovery)和服务端发现(Server-side discovery)两种方式进
阅读全文
摘要:原文地址:http://microservices.io/patterns/apigateway.html,以下是使用google翻译对原文的翻译。 让我们想象一下你正在建立一个使用微服务模式的网上商店,你所用的产品详细信息页面。你需要开发多个版本的产品详情界面: l 由服务器端Web应用程序生成的
阅读全文
摘要:关于微服务分布式事务的一些思考,笔者没有参与过复杂分布式事务的场景,各位大神路过可以分享一些遇到的案例,大家一起探讨。 关于分布式事务,笔者推荐的处理方法是“尽量避免”,如果实在避免不了(这已经是高并发、用户量比较多的网站了)则使用“最终一致性”处理(参照CAP理论base思想),如果处理了事务,但
阅读全文
摘要:web应用从单点向高并发架构演变时往往遇到最大的问题就是数据库的分布式存储。因为web应用本身就可以集群部署,但其所使用的数据库确是单点的。如果一个web应用开始的时候没有考虑数据库的分布式架构,那么等到要进行数据库集群改造时会发现困难重重,此时通常的做法是将原系统拆分成多个子系统,然后每个子系统访
阅读全文
摘要:关于微服务通信基础知识可先行参考文章: 中文连接:http://dockone.io/article/549 英文连接:https://www.nginx.com/blog/building-microservices-inter-process-communication/ 接口调用如果是远程调用
阅读全文
摘要:应用的容器化和微服务化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情 IP频繁发生变动,动态应用部署无法预知容器的IP地址,client端如何发现server端的访问端点? 解决方案(根据客户端是否有感知进行分类) 客户端的发现。c
阅读全文
摘要:微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行方案以及实践案例 微服务实践(五):微服务的事件驱动数据管理 微服务实践(六):选择微服务部署策略 微服务实践(七):从单体式架构迁移
阅读全文
摘要:traefik 是一个前端负载均衡器,对于微服务架构尤其是 kubernetes 等编排工具具有良好的支持;同 nginx 等相比,traefik 能够自动感知后端容器变化,从而实现自动服务发现;今天小试了一下,在此记录一下使用过程 一、Kubernetes 服务暴露介绍 从 kubernetes
阅读全文
摘要:什么是微服务架构? 微服务(MicroServices)架构是当前互联网业界的一个技术热点,业内各公司也都纷纷开展微服务化体系建设。微服务架构的本质,是用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。该架构强调的一些准则:单一职责、协议轻量、进程隔离、数据分离、独立部署、按需伸缩。
阅读全文
摘要:监控的选型 我们的DCOS 主要是面向2种业务形态:互联网应用,NFV组件和相关的数据库。2种不同的业务虽然说都是跑在容器内部,但是其实需要监控的信息和指标都是各不相同。因此在选择监控方案的时候我们更多的考虑了多样性和可定制化方案,同时最重要的是反应速度和自动化的因素 我们的方案需要有告警和自动的弹
阅读全文
摘要:使用微服务架构改造遗留系统 背景与挑战 随着公司国际化战略的推行以及本土业务的高速发展、《网络借贷信息中介机构业务活动管理暂行办法》的发布,各网贷平台都面临业务转型和运营合规问题,接入银行资金存管系统,就是网贷平台必须满足的合规条件。然而,后台支撑系统、前台PC网站、手机APP、M站已经不堪重负,在
阅读全文