Hi Azuryy,

So you have measurements for hadoop-1.0.4 and hadoop-2.0.3+QJM, but I think you should also measure hadoop-2.0.3 _wihout_ QJM so you can know for sure if the performance degrade is actually related to QJM or not.


George


Hi,

HarshJ is a good guy, I've seen this JIRA: https://issues.apache.org/jira/browse/HDFS-4508

I have a test cluster hadoop-1.0.4, I've upgrade to hadoop-2.0.3-alpha. mu cluster is very small, four nodes totally.

then I did some test on the original Hadoop and new Hadoop, the testing is very simple: I have a data file with 450MB, I just put it on the HDFS.

block size: 128MB, replica: 2

the following is the result:

[root@webdm test]# ll testspeed.tar.gz
-rw-r--r-- 1 root root 452M Feb 18 13:54 testspeed.tar.gz
[root@webdm test]#

//On the hadoop-1.0.4
[root@webdm test]# date +%Y-%m-%d_%H:%M:%S; hadoop dfs -put testspeed.tar.gz / ; date +%Y-%m-%d_%H:%M:%S
2013-02-18_13:54:24
Warning: $HADOOP_HOME is deprecated.
2013-02-18_13:54:58

//On the hadoop-2.0.3-alpha with QJM
[root@webdm test]# date +%Y-%m-%d_%H:%M:%S; hdfs dfs -put testspeed.tar.gz / ; date +%Y-%m-%d_%H:%M:%S
2013-02-18_14:13:29
13/02/18 14:13:30 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2013-02-18_14:14:33

I do think QJM HA feature affect the performance, because each writer from QJM, it will do: fence old writer; sync in-progress log; start new log segment; then write. only if writer received a successful response from a quorum of JNs, writer finished for this time.

But NFS HA just write log segment in the local and NFS, when it receive successful response from NFS, it finished this time.

So, I just suggest we always keep these two HA features in future, even in the stable release. which one should be used, which depends on yourself based on your infrastructure.

Thanks.

Reply via email to