Hadoop集群环境测试报告
测试结果说明:
集群环境说明:
主机名 IP地址 操作系统版本 Hadoop版本 Hbase版本 Zookeeper版本 机器用途 hadoop1 192.168.3.65 Linux AS 4.8 hadoop-0.20.2 hbase-0.90.4 zookeeper-3.3.3 namenode hadoop2 192.168.3.66 Linux AS 4.8 hadoop-0.20.2 hbase-0.90.4 zookeeper-3.3.3 datanode hadoop3 192.168.3.67 Linux AS 4.8 hadoop-0.20.2 hbase-0.90.4 zookeeper-3.3.3 datanode hadoop4 192.168.5.57 Linux AS 4.8 hadoop-0.20.2 hbase-0.90.4 zookeeper-3.3.3 datanode hadoop5 192.168.5.58 Linux AS 4.8 hadoop-0.20.2 hbase-0.90.4 zookeeper-3.3.3 datanode
本次对于Hadoop集群测试主要分为五个方面:
1、 手动进行datanode节点删除:(阵列卡电池损坏或者添加内存条等情况需要停机,需要手动删除节点,停止服务器运行)无需重启集群服务,保证文件系统的高可用性,数据的完整性,最后验证block副本数目在节点删除后是否恢复到默认设置(即3个副本)
2、 手动进行datanode节点添加:(有淘汰的旧服务器不使用了,加入hadoop集群增加集群存储容量及节点数等)无需重启集群服务,验证数据的可靠性,架构的可扩展性,数据完整性等。
3、datanode节点被动删除:(服务器主板损坏,网络故障、操作系统故障等导致主机宕机)
datanode每三秒种向namenode发送心跳如果10分钟没有发送心跳,则namenode认为该datanode已经dead,namenode将取出该datanode上对应的block,对其进行复制。
测试过程,在hadoop的文件系统上创建一个30M文件,查看block副本文件的具体分布在哪三个datanode上面,确保第四个节点上无此副本,对其中一个节点执行关机操作,等待10分钟后,namenode节点确认datanode死掉后对其block副本进行复制。查看第四个datanode上是否有新的block副本,即:副本数目又达到3个。验证正常后下载文件,看文件是否能正常使用。
4、Datanode节点的磁盘损坏(所有磁盘完全坏掉,或者只是存放block副本的磁盘损坏)
此节点DataNode正常服务,坏掉的磁盘上的数据尽快通知Namenode,namenode对数 据块进行复制,查看第四个datanode节点上是否新增了数据块(所损坏磁盘的datanode上存储的数据块)
5、人为原因操作失误删除了datanode节点上的数据块(此情况与4的磁盘损坏相似)
手动删除block数据块存放目录下的block文件,看一下多长时间恢复,在哪里恢复?
故障场景一、
手动删除集群中任何一台datanode数据节点
【测试描述】
模拟集群中hadoop2数据节点故障(datanode节点数量应该大于dfs.replication设置的文件块复制数,否则在删减datanode时不会成功,一直处于Decommission in process的状态)
【测试步骤】
1、 把每个datanode节点的Block数量重定向一个目标文件为1.txt
2、 本地上传一个30M的file.222文件到hdfs文件系统中,验证是否只有3个datanode节点有数据块?
3、 再次统计每个datanode节点的Block数量重定向到目标文件2.txt,并且与1.txt文件比较有没有增加数据Block?
a) hadoop2数据节点已增加一个数据块
b) hadoop3数据节点已增加一个数据块
c) hadoop4数据节点已增加一个数据块
d) hadoop5数据节点未增加一个数据块
4、 在namenode节点hadoop家目录的conf目录下新建一个excludes的文件,写上需要remove的节点IP地址,一行只能一个IP。
5、修改namenode节点的主配置文件core-site.xml,在configuration内增加如下内容: