1. 程式人生 > >hadoop 1.0.3 NameNode 實時備份

hadoop 1.0.3 NameNode 實時備份

2012-09-27

作者:周海漢 網址:http://abloz.com 日期:2012.9.27

編輯配置檔案

[[email protected] conf]$ vi hdfs-site.xml

dfs.name.dir ${hadoop.mydata.dir}/dfs/name,${hadoop.mydata.dir}/name_bak

記得將配置檔案同步到其他機器。 修改曾修改userid和groupid的檔案屬性 [[email protected] ~]$ ls -al total 157988 drwx—— 8 zhouhh 668 4096 Sep 27 14:30 . drwxr-xr-x 9 root root 4096 May 22 17:51 .. drwxr-xr-x 17 zhouhh 668 4096 Sep 19 15:07 hadoop-1.0.3

[[email protected] ~]$ sudo chown zhouhh:zhouhh .* -R

[[email protected] ~]$ ls -al total 157988 drwx—— 8 zhouhh zhouhh 4096 Sep 27 14:30 . drwxr-xr-x 9 zhouhh zhouhh 4096 May 22 17:51 .. drwxr-xr-x 17 zhouhh zhouhh 4096 Sep 19 15:07 hadoop-1.0.3 [[email protected] ~]$ start-all.sh

問題: 2012-09-27 16:21:31,947 ERROR common.Storage - Cannot create lock on /data/zhouhh/myhadoop/name_bak/in_use.lock java.io.IOException: No locks available 2012-09-27 16:21:31,949 ERROR namenode.FSNamesystem - FSNamesystem initialization failed. java.io.IOException: No locks available 2012-09-27 16:21:31,949 ERROR namenode.NameNode - java.io.IOException: No locks available 解決辦法,nfs client和server端啟動nfslock服務即可: [

[email protected] myhadoop]$ sudo service nfslock restart Stopping NFS locking: [ OK ] Stopping NFS statd: [ OK ] Starting NFS statd: [ OK ] [[email protected] hadoop-1.0.3]$ sudo service nfslock start Starting NFS statd: [ OK ] [[email protected] hadoop-1.0.3]$ start-all.sh

問題 Hadoop47: /home/zhouhh/hadoop-1.0.3/bin/hadoop-daemon.sh: line 136: /tmp/hadoop-zhouhh-secondarynamenode.pid: Permission denied Hadoop47: Exception in thread “main” java.net.BindException: Address already in use [

[email protected] myhadoop]$ ls /tmp -l total 72 drwxrwxr-x 4 668 668 4096 Sep 25 18:55 hadoop-zhouhh -rw-rw-r– 1 668 668 5 Sep 26 11:04 hadoop-zhouhh-datanode.pid -rw-rw-r– 1 668 668 5 Sep 26 11:04 hadoop-zhouhh-secondarynamenode.pid -rw-rw-r– 1 668 668 5 Sep 26 11:04 hadoop-zhouhh-tasktracker.pid 還是檔案所有權屬性的問題 [[email protected] tmp]$ sudo chown zhouhh:zhouhh hadoop-zhouhh -R … [[email protected] tmp]$ ls -l total 72 drwxrwxr-x 4 zhouhh zhouhh 4096 Sep 25 18:55 hadoop-zhouhh -rw-rw-r– 1 zhouhh zhouhh 5 Sep 26 11:04 hadoop-zhouhh-datanode.pid -rw-rw-r– 1 zhouhh zhouhh 5 Sep 26 11:04 hadoop-zhouhh-secondarynamenode.pid -rw-rw-r– 1 zhouhh zhouhh 5 Sep 26 11:04 hadoop-zhouhh-tasktracker.pid

另外還有原使用者id執行的程式,必須殺掉,佔著埠 [[email protected] tmp]$ ps -ef UID PID PPID C STIME TTY TIME CMD 668 1824 1 0 Sep26 ? 00:01:49 /usr/java/jdk1.7.0/bin/java -Dproc_secondarynamenode -Xmx1000m [[email protected] tmp]$ kill -9 1824 -bash: kill: (1824) - Operation not permitted [[email protected] tmp]$ sudo kill -9 1824 [[email protected] tmp]$ jps 25704 Jps 25566 TaskTracker 25458 SecondaryNameNode

問題:DataNode沒起來 [[email protected] logs]$ vi hadoop-zhouhh-datanode-Hadoop47.log 2012-09-27 16:54:25,233 ERROR datanode.DataNode - java.io.IOException: Cannot lock storage /data/zhouhh/myhadoop/dfs/data. The directory is already locked. 2012-09-27 16:54:19,890 WARN datanode.DataNode - java.io.IOException: Call to Hadoop48/192.168.10.48:54310 failed on local exception: java.io.IOException: Connection reset by peer [[email protected] logs]$ jps 25883 Jps [[email protected] logs]$ ps -ef UID PID PPID C STIME TTY TIME CMD zhouhh 24804 1 0 16:45 ? 00:00:01 /usr/java/jdk1.7.0/bin/java -Dproc_datanode -Xmx1000m -server datanode程序還在,佔著埠。但由於使用者改了id,所以jps列不出來了。stop-all也無法停止。手動殺死。

[[email protected] hadoop-1.0.3]$ start-all.sh [[email protected] myhadoop]$ diff -r name_bak/ dfs/name diff -r name_bak/current/VERSION dfs/name/current/VERSION 1c1 < #Thu Sep 27 17:09:48 CST 2012 —

#Thu Sep 27 17:09:47 CST 2012 所以網路盤和本地盤一致。

如非註明轉載, 均為原創. 本站遵循知識共享CC協議,轉載請註明來源