作者:zhaohui

Netty实现Shadowsocks客户端

Shadowsocks是什么 shadowsocks是基于socks5协议实现的代理方式,分为服务器和客户端,双端之间通过使用指定的加密方式(AES,BlowFish,Table等)进行数据传输,有效的突破了GFW。 整个流程可以看来自网上的一张流程图: 总体流程大致如上图所示,具体实现细节后面会介绍,今天要实现的是SS Local这个模块,数据传输都是基于socks5协议,所以有必要先了解一下socks5协议。 socks5协议 SOCKS5 是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器…

阅读全文 »

Netty模拟redis服务器

摘要 学习了一下redis的网络通信协议,准备用netty来模拟接受redis客户端发送过来的协议,进行简单的回复 Redis的客户端与服务端采用叫做 RESP(Redis Serialization Protocol)的网络通信协议交换数据,客户端和服务器通过 TCP 连接来进行数据交互, 服务器默认的端口号为 6379 。客户端和服务器发送的命令或数据一律以 \r\n (CRLF)结尾。 RESP支持五种数据类型: 状态回复(status reply):以“+”开头,表示正确的状态信息,”+”后就是具体信息​,比如: 其实它真正回复的数据是:+OK\r\n 错误回复(error reply…

阅读全文 »

Vps虚拟化技术

国内外vps主机提供商所提供的主机大多是基于Xen、OpenVZ、KVM、Hyper-V、VMWare五种虚拟化技术。 1.Xen Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售。可分为Xen-PV(半虚拟化),和Xen-HVM(全虚拟化)。 Xen-PV:半虚拟化,所以它仅仅适用于 linux 系列VPS,但它的性能损失比较少,大概相对于母机的4%-8%左右。 Xen-HVM:全虚拟化,可以安装windows或自由挂载ISO文件安装任意系统,由于是全虚拟化,所以性能损失较大,大概相对于母机性能损失8%-20%左右。 优点:在资源有限的情况下…

阅读全文 »

EasyProtocol

EasyProtocol是一种序列化工具,目前提供了java,c#的支持,由于它是一种二进制的格式,比使用json,xml 进行数据交换快许多。当然比起protocolbuffer这种专业的序列化工具,可能在性能,大小上差一点,但是很轻巧,简单,适合互相学习,比较适合一些小型项目。 EasyProtocol介绍和使用:http://my.oschina.net/OutOfMemory/blog/399016 github:https://github.com/ksfzhaohui/easyProtocol

阅读全文 »

Hbase的伪分布式模式

摘要 伪分布式模式是在一台主机上运行所有进程的模式。此配置仅仅是协助Hbase用于测试和原型,不要在生产环境中使用此配置,也不要用此配置做HBase的性能比较 启动HDFS hbase的伪分布式模式下需要用到hdfs,所有我们需要先启动hdfs,可以参考上一篇:Hadoop的伪分布式模式,按照文中的操作,我们可以正确启动hdfs,并且可以使用jps查看进程: 并且可以通过hadoo fs 查看当前hdfs中的文件: 以上如果都没有问题的话,说明hdfs已经正常启动 更改hbase配置文件 主要编辑 hbase-site.xml 配置文件: Hbase使用HDFS的/hbase目录作为根目录,H…

阅读全文 »

Hbase版本选择和单机模式入门

摘要 HBase – Hadoop Database, 是一个高可靠性的、高性能的、可伸缩的、面向列存储的开源分布式存储系统。 版本选择 因为Hbase依赖于hadoop的hdfs,所有hadoop版本的选择也影响到hbase版本的选择, 基于Hadoop的版本选择和单机模式中hadoop的版本为:hadoop-2.5.1, 以及官网文档:https://hbase.apache.org/book.html中jdk版本对hbase的支持,如图: 综合考虑最后选择的版本是:Hbase1.2.2 安装 环境变量 文件末尾添加 生效环境变量 查看版本 表示已经安装成功 和hadoop一样,也有三种启…

阅读全文 »

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进行测…

阅读全文 »