【51CTO专稿】2013年,Hadoop的技术创新不断发展,整个生态系统也变得丰富多彩,大多数机构部署了自己的IT业务系统,京东也自主研发了Hadoop NameNode Cluster方案,51CTO记者很荣幸采访到其Hadoop工程师刘涛,刘涛对京东Hadoop高可用解决方案进行解析,对此感兴趣的网友们,可以通过此文来了解一下。
(左:刘涛 右:51CTO记者)
【嘉宾简介】刘涛,京东Hadoop工程师。09年就职于淘宝,从事于分布式系统上的海量数据处理与数据仓库建设。12年加入京东公司,从事hadoop和分布式系统的研究和开发,对hadoop源码,hadoop性能优化,hadoop的部署及应用比较熟悉。
产生背景
随着集群规模的扩大,首先要解决单点问题,如果只有一个单点挂掉的时候,没有办法及时恢复,这种情况下不能响应客户端的请求,会影响用户的使用。其次,由于存储文件的增加,机器的内存会逐渐的增加,已经达到了内存的瓶颈,对大内存的管理也是存在问题。在这样的背景下,京东便自主研发了Hadoop NameNode Cluster方案。
构建过程
NameNode Cluster的方案在HDFS基础上进行改进,保留了这样双层的结构,但是NameNode Cluster不同的地方是相对于静态的划分,系统需要去做到划分要做动态的扩展,屏蔽掉对用户的改动。原来的NameNode 关于权限、目录、数据、节点和快的管理集合的功能分别的进行了重新的划分,实现的过程中是引入了新的数据节点的类型,相对于原先的引入了新的方案,NameNode存储的指数寻找到的其他的进程,NameNode的进程,存的是URTC地址。
如何实现目录式的划分,第一步是要把分出去的子的目录节点下的所有的子数,保存在一个空间,让其他的NameNode 进行加载,从而使自己本身维护的数据节点变少。
之后是模式的完善和优化上,如果实现了这样的系统,以后完全可以根据现在访问的情况去增加我们的NameNode节点。
在实施方案过程中,还是遇到过几次故障,Active节点宕掉,Standby节点便尽快恢复,再结合客户端的一些机制,能够很快的解决故障,让用户感受不到系统挂掉的事。
Hadoop安全
我们处在一个数据爆炸的时代,越来越多的信息被制造出来,数据量大而且种类复杂。在这个大数据时代,如何才能保证Hadoop安全?刘涛提到,主要需要注意以下三个方面:
一、Hadoop本身的结构上要有机制去保证数据不丢失,比如说,做好数据备份等方案;
二、要从用户访问情况的方面做控制,需要有严格的访问权限控制和用户认证;
三、从防火墙的角度去控制访问的来源,这样可以保证用户自己的数据部丢失。
更多精彩内容,请关注51CTO专访视频。