自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 收藏
  • 关注

原创 通过hadoopAPI访问文件

/** * 通过hadoop api访问 * @throws IOException */@Testpublic void readFileByAPI()throws IOException{Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.75.2

2017-08-03 16:20:42 672

原创 hadoop常用的命令

hdfs dfs -mkdir -p /user/centos/hadoophdfs dfs -ls /userhdfs dfs -ls -R /user 递归查看hdfs dfs -help puthdfs dfs -put index.html /user/centos/hadoop上传 index.html到hadoop上查看hdfs dfs -lsr

2017-08-02 14:24:17 771

原创 单独启动和关闭hadoop服务

1)启动名称节点  hadoop-daemon.sh start namenode   2) 启动数据节点hadoop-daemons.sh start datanode  slave 3)hadoop-daemon.sh start secondarynamenode 4)查看端口50070netstat -anop | grep 500

2017-08-02 10:49:24 7454 1

原创 Hadoop公开课:完全分布式脚本分析

脚本分析start-all.sh  1)首先进入/soft/hadoop/sbin目录  2)nano start-all.sh  sbin/start-all.sh主要做的事情:  1) libexec/hadoop-config.sh  2) start-dfs.sh  3) start-yarn.sh  3)cat li

2017-08-01 16:34:59 640

原创 名称节点和数据节点作用

两张图说清楚名称节点和数据节点

2017-08-01 15:32:19 5048 2

原创 hadoop的端口简介

hadoop的端口:50070 //namenode http port50075 //datanode http port50090 //2namenode http port8020 //namenode rpc port50010 //datanode rpc port 查看端口 netstat -ano | more

2017-07-28 10:27:10 486

原创 通过hadoop自带的demo运行单词统计

1)mkdir input2)cd  intput3)echo “hello word” > file1.txt4)echo “hello hadoop” > file2.txt5)echo “hello mapreduce” >> file2.txt6) more file2.txt7) hadoop fs -mkdir  /wc_input8) hadoop fs

2017-07-28 09:57:56 614

原创 大数据入门基础:SSH介绍

什么是ssh简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获

2017-07-27 16:46:53 525

原创 hadoop3种集群方式

hadoop3种集群方式包括独立模式、伪分布式模式和完全分布式模式  1独立模式安装  a)下载jdk-8u65-linux-x64.tar.gz  b)tar开  $>su centos ; cd ~  $>mkdir downloads  $>cp /mnt/hdfs/downloads/bigdata/jdk-8u65-linux-x64.

2017-07-26 17:37:56 871

原创 数据处理流程

流程图解析  典型的BI系统体流程如下:  由于是处理海量数据,流程中各环节所使用的技术则跟传统BI完全不同,后续课程都会一一讲解:  1) 数据采集:定制开发采集程序,或使用开源框架FLUME  2) 数据预处理:定制开发mapreduce程序运行于hadoop集群  3) 数据仓库技术:基于hadoop之上的Hive  4) 数据导出:基

2017-07-26 17:29:16 1226

原创 HADOOP生态圈以及各组成部分的简介

重点组件:HDFS:分布式文件系统MAPREDUCE:分布式运算程序开发框架HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具HBASE:基于HADOOP的分布式海量数据库ZOOKEEPER:分布式协调服务基础组件Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库Oozie:工作流调度框架Sqoop:数据导入

2017-07-26 17:16:03 3678

原创 大数据入门基础:Hadoop简介

1.1.什么是hadoop  1.hadoop是apache旗下的一套开源软件平台,可以通过http://apache.org/--->project-   ->hadoop打开  2.Hadoop是开源软件,可靠的、分布式、可伸缩的。  3.Hadoop提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理  4.广义上

2017-07-25 17:10:03 551

转载 深入Celery之常用架构/方案选型/必知必会

简单介绍:说明: 此模块是一个专注于分布式消息传递的异步任务队列,所谓任务就是消息,消息中的有效载荷中包含要执行的任务需要的全部数据 几大特性:1. Celery易于使用和维护,且不需要配置文件,默认配置启动时自动写入消息代理.2. Celery高可用,连接丢失或失败时客户端或消费者会自动重试,并且可通过消息代理的双主/主从模式来提高高可用性3. Celery快速,单个进程

2017-06-20 17:37:57 1371

转载 模块和包.深入Celery之应用配置/独立模块配置实践

配置简介:说明: Celery的配置文件非常强大,支持在应用上设置,也可以使用一个独立的配置模块,具体需要调整的默认选项可通过http://docs.jinkan.org/docs/celery/configuration.html#configuration 获取. # 方式一 : 直接在应用上设置,通过app.conf.update可一次性设置多个选项,常用于小型项目

2017-06-20 17:37:23 965

转载 深入Celery之使用队列以及优先级提高响应

多个队列:1. Celery默认使用的队列名为celery默认绑定在direct交换机celery,可通过CELERY_DEFAULT_QUEUE/CELERY_DEFAULT_EXCHANGE/CELERY_DEFAULT_ROUTING_KEY等参数配置修改.123456789101112131415161

2017-06-20 17:36:27 3121

转载 Python-模块和包.深入Celery之Beat触发定时/周期性任务

任务调度:1. Celery默认任务单元由任务生产者触发,但有时可能需要其自动触发,而Beat进程正是负责此类任务,能够自动触发定时/周期性任务.1234567891011121314151617181920212223242526272829#!/u

2017-06-19 15:45:30 5849

转载 Python-模块和包.深入Celery之任务绑定/记录日志/自动重试

异常处理:1. 当装饰器@app.task添加bind=True时,被修饰的函数第一个参数被作为任务对象,通过self可获取任务的上下文,get_task_logger其实是调用的进线程安全的logging模块,用于终端打印调试.123456789101112131415161718192021

2017-06-19 15:44:47 2287

转载 模块和包.深入Celery之节点管理/任务调度/任务追踪

任务管理:说明: 如上为运行任务后的标准输出,transport为消息代理,concurrency为默认进程池进程数,当所有子进程处于忙碌状态时必须等待空闲子进程处理,如果是IO密集型可尝试使用Eventlet/Gevent协程,具体可参考http://docs.jinkan.org/docs/celery/userguide/concurrency/index.html#concurre

2017-06-19 15:44:19 1108

转载 Python-模块和包.深入Celery之子任务及原语组式/链式/回调

子级任务:说明: 前面学习的任务调用基本上已够用,但有时业务场景可能需要任务关联,且子任务可能需要父任务为其传递一些必要参数,此时可通过func.subtask或简写func.s实现,子任务对象依然可以调用任务对象的API,delay和apply_async,但和常规调用不同的是子任务调用时传递的参数加生成子任务时初始化参数的才是最终任务的参数,所以子任务在调用时就不需要再重复传递子任务初始化

2017-06-19 15:43:45 2347

转载 值得关注的几个WEB技术

HTTP2HTTP2在今年中应该就可以定稿,这无疑是web界的一个大事。HTTP2从google的SPDY中借鉴了很多特性,重点改善了之前HTTP协议在当前的网络环境下的性能。简单地来讲,HTTP2更快。为什么呢,有几个主要改变:首先是来自于同一个domain的HTTP请求可以共享同一个TCP连接了,这样可以很大程度上解决网络延时带来的性能问题。比如你有很多图片,现在也不用spri

2017-06-16 14:08:29 689

转载 mysql大数据高并发处理

一、数据库结构的设计如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花

2017-06-16 14:07:24 443

转载 Twisted入门教程(14)

介绍这部分我们要介绍Deferred的另外一个功能。便于讨论,我们设定如下情景:假设由于众多的内部网请求一个外部诗歌下载服务器,但由于这个外部下载服务器性能太差或请求负荷太重。因此,我们不想将所有的内部请求全部发送到外部服务器。我们的处理办法是,在中间添加一个缓存代理。当一个请求来到后,我们可以从中间缓存代理中找到缓存的备份(如果有缓存)或者直接从外部服务器获得。部署图如图30所示:Def

2017-06-16 14:06:37 325

转载 Twisted入门教程(13)

第十三部分 使用Deferred新功能实现新客户端你可以从这里从头阅读这个系列。 介绍回忆下第10部分中的客户端5.1版。客户端使用一个Deferred来管理所有的回调链,其中包括一个格式转换引擎的调用。在那个版本中,这个引擎的实现是同步的。(即等待其执行再切到其它函数或任务中)现在我们想实现一个新的客户端,其使用我们在第十二部分实现的格式服务器提供的格式转换服务。但这里有一个

2017-06-16 14:05:24 357

转载 Twisted入门教程(12)

新的服务器实现这里我们要新写一个Twisted版的服务器。然后,再来讨论一些Deferred的新功能。 在第九、十部分,我们提出了诗歌转换引擎这个概念。由于其实现太过简单,因此我们用随机选择来模拟了可能会出现转换失败的情景。但如果转换引擎位于服务器端,那么当服务器宕机就会出现真实的转换失败的情景了。因此,在这部分我们要实现一个诗歌样式转换服务器,然后在一个部分,我们会重写我们的诗歌

2017-06-15 15:20:46 387

转载 Twisted入门教程(11)

十一部分:改进诗歌下载服务器你可以从这里从头阅读这个系列。 诗歌下载服务器到目前为止,我们已经学习了大量关于诗歌下载客户端的Twisted的知识,接下来,我们使用Twisted重新实现我们的服务器端。利益于Twisted的抽象机制,接下来你会发现我们前面已经几乎全部学习到这部分知识了。其实现源码在twisted-server-1/fastpoetry.py中。之所以称其为fastp

2017-06-15 15:20:16 339

转载 Twisted入门教程(10)

第十部分:增强defer功能的客户端可以从这里从头开始阅读这个系列。 版本5.0现在我们将要向诗歌下载客户端添加一些新的处理逻辑,包括在第九部分提到要添加的功能。不过,首先我要说明一点:我并不知道如何实现Byronification引擎。那超出了我的编程能力范围。取而代之的,我想实现一个简单的功能,即Cummingsifier。其只是将诗歌内容转换成小写字母:def cummi

2017-06-15 15:19:40 636

转载 Twisted入门教程(9)

第九部分:第二个小插曲,Deferred可以从这里从头来阅读这个系列. 更多关于回调的知识稍微停下来再思考一下回调的机制。尽管对于以Twisted方式使用Deferred写一个简单的异步程序已经非常了解了,但Deferred提供更多的是只有在比较复杂环境下才会用到的功能。因此,下面我们自己想出一些复杂的环境,以此来观察当使用回调编程时会遇到哪些问题。然后,再来看看deferred是

2017-06-15 15:19:09 366

转载 Twisted入门教程(8)

第八部分:使用Deferred的诗歌下载客户端可以从这里从头开始阅读这个系列。 客户端4.0我们已经对deferreds有些理解了,现在我们可以使用它重写我们的客户端。你可以在twisted-client-4/get-poetry.py中看到它的实现。这里的get_poetry已经再也不需要callback与errback参数了。相反,返回了一个用户可能根据需要添加callba

2017-06-14 10:05:36 403

转载 Twisted入门教程(7)--Deferred

回调函数的后序发展在第六部分我们认识这样一个情况:回调是Twisted异步编程中的基础。除了与reactor交互外,回调可以安插在任何我们写的Twisted结构内。因此在使用Twisted或其它基于reactor的异步编程体系时,都意味需要将我们的代码组织成一系列由reactor循环可以激活的回调函数链。即使一个简单的get_poetry函数都需要回调,两个回调函数中一个用于处理正常结果而

2017-06-14 10:05:01 332

转载 Twisted入门教程(6)

打造可以复用的诗歌下载客户端我们在实现客户端上已经花了大量的工作。最新版本的(2.0)客户端使用了Transports,Protocols和Protocol Factories,即整个Twisted的网络框架。但仍有大的改进空间。2.0版本的客户端只能在命令行里下载诗歌。这是因为PoetryClientFactory不仅要下载诗歌还要负责在下载完毕后关闭程序。但这对于”PeotryClient

2017-06-14 10:04:22 325

转载 Twisted入门教程(5)

第五部分:由Twited支持的诗歌下载服务客户端你可以从这里从头开始阅读这个系列 抽象地构建客户端在第四部分中,我们构建了第一个使用Twisted的客户端。它确实能很好地工作,但仍有提高的空间。首先是,这个客户端竟然有创建网络端口并接收端口处的数据这样枯燥的代码。Twisted理应为我们实现这些例程性功能,省得我们每次写一个新的程序时都要去自己实现。Twisted这样做也将我们

2017-06-13 11:00:57 400

转载 Twisted入门教程(4)

第一个twisted支持的诗歌服务器尽管Twisted大多数情况下用来写服务器代码,为了一开始尽量从简单处着手,我们首先从简单的客户端讲起。让我们来试试使用Twisted的客户端。源码在twisted-client-1/get-poetry.py。首先像前面一样要开启三个服务器:python blocking-server/slowpoetry.py --port 10000 poet

2017-06-13 10:59:59 449

转载 Twisted入门教程(3)

第三部分:开始认识Twisted可以从这里从头开始阅读这个系列。 用twisted的方式实现前面的内容最终我们将使用twisted的方式来重新实现我们前面的异步模式客户端。不过,首先我们先稍微写点简单的twisted程序来认识一下twisted。最最简单的twisted程序就是下面的代码,其在twisted-intro目录中的basic-twisted/simple.py中。

2017-06-13 10:59:24 504

转载 Twisted入门教程(1、2)

Twiested框架是国内著名开源网游框架Firefly的最关键依赖技术。因此,对于这个子框架的深入剖析有助于从内部把握Firefly运行机理。本人从网络上无意间搜索到一个十分优秀的入门教程,尽管有些版本过旧,但是对于我们理解这个框架并无大碍。Source: http://blog.sina.com.cn/s/blog_704b6af70100py9f.html     1.Twist

2017-06-12 16:21:31 458

转载 python编程之GUI的选择

尽管内容可能有些老,但是没有关系,对于想深入Python开发的工作者,在选择GUI开发包,乃至可视化IDE方面都还有相当的借鉴意义。Python最大的特点就在于她的快速开发功能。作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用 python进行gui开发的一些选择。1、Tkinter    Tkinter似乎是与tcl语言同时发展起来的一种界

2017-06-12 16:20:55 11262 1

转载 Python几种并发实现方案的性能比较

1. 前言偶然看到Erlang vs. Stackless python: a first benchmark,对Erlang和Stackless Python的并发处理性能进行了实验比较,基本结论认为二者有比较相近的性能。我看完产生的问题是,Stackless Python与Python的其他并发实现机制性能又会有多大区别呢,比如线程和进程。因此我采用与这篇文章相同的办法来对Stackl

2017-06-12 16:20:20 406

转载 python中的问号表达式

我们知道C语句中存在问号表达式,例如下面: 1"font-size:18px;">a=2>1? 10: -10;     那么,Python脚本语言中是否也存在类似的问号表达式呢?答案是肯定的。而且存在两种方式。     方式1:使用if else实现如下例: 1="font-size:18

2017-06-09 14:21:43 7352

转载 用Visual C#打造多页面网页浏览器

关键技术分析  解决问题的关键在于对浏览器控件WebBrowser 的NewWindow2事件的编程。当需要显示某种文件而生成一个新窗口时,NewWindow2 事件即被激活。注意,该事件发生在WebBrowser控件的新窗口产生之前。例如,作为对导航到一个新窗口或者一个脚本控制的window.open方 法的响应,即发生该事件。为了声明当一个新窗口被打开时,将使用我们自己的浏览器程序,应

2017-06-09 14:19:59 1583

转载 C++/CLI思辨录之Object的对象布局

C++/CLI相对纯C++来说,支持创建托管引用对象,托管对象由虚拟机来分配内存和管理,程序员可以不再担心内存泄漏的问题。其实,说白了也就是相当于自己创建一个内存池,并且虚拟机实际上也是这样做的。  在CLI中,所有的类都从Object派生,包括int这样的值。那么Object的内部结构是怎么样的呢?通过对vm代码的研究,可以看到大致上的结构如下: 

2017-06-09 14:19:00 298

转载 C++/CLI思辨录之内部指针的两面性

在本文中,我将解释为什么使用本地指针来管理对象。原因在于对象是以垃圾收集器移动的。所以,当对象移动时,本地指针就变成无效的。所以,如果你想取得一个托管对象的本地指针,你就会遇到一个编译错。下面的代码显示了这上点。using namespace System;int _tmain(){ int ^ hnd = gcnew int(100); int* np = &hnd; /

2017-06-09 14:18:23 369

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除