作者:zhaohui

Hadoop的伪分布式模式

接着上一篇:Hadoop的版本选择和单机模式 下面来看一下hadoop2.5.1的伪分布式模式 安装ssh 在伪分布式模式下工作时必须启动守护进程,而启动守护进程的前提是已经成功安装SSH。hadoop并不严格区分伪分布式模式和全分布式模式,它只是启动集群主机集的守护进程;SSH-ing到各个主机并启动一个守护进程。在伪分布式模式下,主机就是本地计算机,因而伪分布式模式可视作全分布式模式的一个特例。需要指出的是,必须确保用户能够SSH到本地主机,并不需要输入密码就可以登录。 然后基于口令创建一个新SSH密钥,以启用无密码登录 测试: 如果成功无需输入密码 修改配置文件 core-site.xm…

阅读全文 »

Hadoop的版本选择和单机模式

选择 Hadoop的发展中出现了2个分支,分别是1.x和2.x Hadoop2.x相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更: 1.HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性; 2.MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Resource Negotiator)。 鉴于2.x比起1.x存在的优势,准备使用2.x进行测…

阅读全文 »

HttpClient模拟登录流程

不管是抢购火车票还是电商网站上抢购商品,如果在节假日没有抢购工具是很难靠手动抢到的,所以市面上的抢购工具也是层出不穷,但流程都是差不多的,大体上分为2步: 今天主要介绍一下第一步:模拟用户登录,作为登录我也把它拆分成了这4步: 准备 1.chrome浏览器:因为需要借助chrome强大的开发者工具 2.开源中国的在线工具:密码的加密解密和一些格式化工具方便查看 3.eclipse:开发工具 模拟登录–以下仅供个人学习使用 1.分析请求地址 主要分析验证码的请求,登录的请求,以及为登录提供参数的请求,选定一个网站比如:开源中国,进入它的登录界面:https://www.oschina…

阅读全文 »

Reactor和Proactor模式

在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而异步是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知。 阻塞和非阻塞 阻塞方式下读取或者写入函数将一直等待,而非阻塞方式下,读取或者写入函数会立即返回一个状态值。 I/O模型可以分为:同步阻塞,同步非阻塞,异步阻塞,异步非阻塞IO 1.同步阻塞 用户进程在发起一个…

阅读全文 »

redis脚本实现分布式锁

redis被大量用在分布式的环境中,自然而然分布式环境下的锁如何解决,立马成为一个问题。例如我们当前的手游项目,服务器端是按业务模块划分服务器的,有应用服,战斗服等,但是这两个vm都有可能同时改变玩家的属性,这如果在同一个vm下面,就很容易加锁,但如果在分布式环境下就没那么容易了,当然利用redis现有的功能也有解决办法,比如redis的脚本。 redis在2.6以后的版本中增加了Lua脚本的功能,可以通过eval命令,直接在RedisServer环境中执行Lua脚本,并且可以在Lua脚本中调用Redis命令。 使用脚本的好处: 1.减少网络开销:可以把一些要批量处理的功能,发在一个脚本里面执…

阅读全文 »

Redis有多耐久还看fsync

redis提供了2中持久化方式,分别是: RDB方式:可以在指定的时间间隔内,生成数据集的时间点快照(point-in-time snapshot) AOF方式:全称(append-only file)AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。Redis 还 可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。 由于rdb方式是时间间隔内生成一次快照,所有它的耐久度是很低的; aof方式的耐久度得看redis多久将数据fsync到磁盘一次,有三种选项: 选项一:每次有新命令追加到 AOF…

阅读全文 »

程序员都应该有一台自己的服务器

我相信很多程序员都和我一样,经常需要和google的一些服务打交道,特别是google的搜索引擎,但是由于国内无法访问,这时候大多数情况下我们都会考虑vpn,通过vpn去浏览国外的网站。这时候我们大多会选择免费的vpn或者收费的vpn; 免费的vpn: 1.可能会面临一些不稳定的因素,可能你刚好要查一个很重要的资料,但是这时候确连接不上 2.不安全,毕竟你的数据是经过别人的服务器 收费的vpn: 1.每个月大概支付20元左右 2.也同样存在不安全的问题 我相信很多程序员也经常有这样的需求,出于爱好做一些简单的app或者游戏,又或者搭建一个自己的个人博客网站,这时候我们需要一台外网服务器,你可能…

阅读全文 »

redis存储对象

redis已经应用相当广泛了,但redis本身并没有直接存储对象的方法,我们可以通过转换对象的方式来存储对象。 大致总结了以下几种方案来存储对象: 方案一:序列化对象为二进制 使用redis的接口: 至于序列化方式,我们有很多种选择,比如:Java serialize,Protobuf,或者自己手动序列化都行 方案二:序列化对象为字符串 使用redis的接口: 序列化为字符串,我们也有很多选择:Json(Jackson,FastJson),Xml等方式 方案三:转换对象为Map 使用redis的接口: 将对象转成一个map: 将map转成java对象: 这种方式有一个优势:在更新对象的时候不需…

阅读全文 »