Index: /hadoop4win-setup/hadoop4win-setup.bat
===================================================================
--- /hadoop4win-setup/hadoop4win-setup.bat	(revision 231)
+++ /hadoop4win-setup/hadoop4win-setup.bat	(revision 232)
@@ -19,10 +19,10 @@
 REM ####################################################################
 
-set HADOOP_FILE=hadoop-0.20.1.tar.gz
-set HADOOP_MIRROR=http://ftp.twaren.net/Unix/Web/apache/hadoop/core/hadoop-0.20.1
+set HADOOP_FILE=hadoop-0.20.2.tar.gz
+set HADOOP_MIRROR=http://ftp.twaren.net/Unix/Web/apache/hadoop/core/hadoop-0.20.2
 set JDK_FILE=jdk1.6.0_18.zip
-set JDK_MIRROR=http://tsmc.classcloud.org
-set HBASE_FILE=hbase-0.20.3.tar.gz
-set HBASE_MIRROR=http://ftp.twaren.net/Unix/Web/apache/hadoop/hbase/hbase-0.20.3
+set JDK_MIRROR=http://www.classcloud.org/hadoop4win
+set HBASE_FILE=hbase-0.20.4.tar.gz
+set HBASE_MIRROR=http://ftp.twaren.net/Unix/Web/apache/hadoop/hbase/hbase-0.20.4
 set CYGWIN_ROOT=C:\hadoop4win
 set LOCAL_REPOSITORY=%cd%
@@ -105,7 +105,6 @@
 REM real do cygwin installation
 
-IF NOT EXIST "%CYGWIN_ROOT%\bin\bash.exe" (
-  "%CYGWIN_SETUP%" -q -d -L -l "%LOCAL_REPOSITORY%\cygwin_mirror" -R "%CYGWIN_ROOT%" -P cygrunsrv,file,openssh,perl,procps,ncurses,rsync,sharutils,shutdown,subversion,tcp_wrappers,termcap,unzip,wget,zip,zlib
-)
+"%CYGWIN_SETUP%" -q -d -L -l "%LOCAL_REPOSITORY%\cygwin_mirror" -R "%CYGWIN_ROOT%"
+REM "%CYGWIN_SETUP%" -q -d -L -l "%LOCAL_REPOSITORY%\cygwin_mirror" -R "%CYGWIN_ROOT%" -P cygrunsrv,file,openssh,perl,procps,ncurses,rsync,sharutils,shutdown,subversion,tcp_wrappers,termcap,unzip,wget,zip,zlib
 
 REM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -151,13 +150,6 @@
 echo "====================================================="  
 %CYGWIN_ROOT%\bin\bash --login -c "/bin/hadoop4win-init"
+%CYGWIN_ROOT%\bin\bash --login -c "/bin/hbase-init"
 cls
-echo "====================================================="
-echo " Use `start-hadoop' and `stop-hadoop' to run single  "
-echo " machine hadoop configuration.                       "
-echo " .                                                   "
-echo " Use `jps' to check java process for troubleshooting."
-echo " .                                                   "
-echo " Use `hbase-init' to install single machine HBase .  "
-echo "====================================================="  
 set PATH=%OLDPATH%
 CALL "%CYGWIN_ROOT%\Cygwin.bat"
Index: /hadoop4win-setup/my_packages/hadoop/bin/hadoop4win-init
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/bin/hadoop4win-init	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/bin/hadoop4win-init	(revision 232)
@@ -25,7 +25,7 @@
 chmod a+x `find . -name "*.exe"`
 chmod a+x `find . -name "*.dll"`
-javac -version
 cd /opt/hadoop
 bin/hadoop namenode -format
+source /etc/profile
 /bin/start-hadoop
 bin/hadoop fs -mkdir tmp
Index: /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop	(revision 232)
@@ -1,5 +1,15 @@
 #!/bin/bash
-cygstart --showminnoactive /bin/bash -c /bin/start-hadoop-daemon
-for ((i=1;i<=10;i++)); do sleep 1; printf "."; done
-printf "\n"
-jps
+if [ -z "$(jps | grep NameNode)" ]; then
+	cygstart --showminnoactive /bin/bash -c /bin/start-hadoop-daemon
+	for ((i=1;i<=10;i++)); do sleep 1; printf "."; done
+	printf "\n"
+	jps
+else
+	echo "Hadoop had already started!!"
+	jps
+fi
+
+echo "==============================================="
+echo " check http://localhost:50030 for Job Status.  "
+echo " check http://localhost:50070 for HDFS status. "
+echo "==============================================="
Index: /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop-daemon
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop-daemon	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/bin/start-hadoop-daemon	(revision 232)
@@ -1,4 +1,5 @@
 #!/bin/bash
 /opt/hadoop/bin/hadoop-daemon.sh start namenode
+/opt/hadoop/bin/hadoop-daemon.sh start secondarynamenode
 /opt/hadoop/bin/hadoop-daemon.sh start datanode
 /opt/hadoop/bin/hadoop-daemon.sh start jobtracker
Index: /hadoop4win-setup/my_packages/hadoop/bin/stop-hadoop
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/bin/stop-hadoop	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/bin/stop-hadoop	(revision 232)
@@ -1,5 +1,6 @@
 #!/bin/bash
-/opt/hadoop/bin/hadoop-daemon.sh stop tasktracker
-/opt/hadoop/bin/hadoop-daemon.sh stop jobtracker
-/opt/hadoop/bin/hadoop-daemon.sh stop datanode
-/opt/hadoop/bin/hadoop-daemon.sh stop namenode
+if [ ! -z "$(jps | grep TaskTracker)" ];then /opt/hadoop/bin/hadoop-daemon.sh stop tasktracker ; fi
+if [ ! -z "$(jps | grep DataNode)" ];then /opt/hadoop/bin/hadoop-daemon.sh stop datanode ; fi
+if [ ! -z "$(jps | grep JobTracker)" ];then /opt/hadoop/bin/hadoop-daemon.sh stop jobtracker ; fi
+if [ ! -z "$(jps | grep SecondaryNameNode)" ];then /opt/hadoop/bin/hadoop-daemon.sh stop secondarynamenode ; fi
+if [ ! -z "$(jps | grep NameNode)" ]; then /opt/hadoop/bin/hadoop-daemon.sh stop namenode ; fi
Index: /hadoop4win-setup/my_packages/hadoop/conf-examples/core-site.xml
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/conf-examples/core-site.xml	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/conf-examples/core-site.xml	(revision 232)
@@ -9,3 +9,7 @@
         <value>hdfs://localhost:9000</value>
       </property>
+	  <property>
+		<name>hadoop.tmp.dir</name>
+		<value>/var/hadoop</value>
+	  </property>
 </configuration>
Index: /hadoop4win-setup/my_packages/hadoop/conf-examples/hdfs-site.xml
===================================================================
--- /hadoop4win-setup/my_packages/hadoop/conf-examples/hdfs-site.xml	(revision 231)
+++ /hadoop4win-setup/my_packages/hadoop/conf-examples/hdfs-site.xml	(revision 232)
@@ -5,4 +5,7 @@
 
 <configuration>
-
+  <property>
+    <name>dfs.replication</name>
+    <value>1</value>
+  </property>
 </configuration>
Index: /hadoop4win-setup/my_packages/hbase/bin/hbase-init
===================================================================
--- /hadoop4win-setup/my_packages/hbase/bin/hbase-init	(revision 231)
+++ /hadoop4win-setup/my_packages/hbase/bin/hbase-init	(revision 232)
@@ -1,9 +1,10 @@
 #!/bin/bash
-if [ ! -f /usr/src/hbase-0.20.3.tar.gz ]; then
-  wget http://ftp.twaren.net/Unix/Web/apache/hadoop/hbase/hbase-0.20.3/hbase-0.20.3.tar.gz -O /usr/src/hbase-0.20.3.tar.gz
+if [ ! -f /usr/src/hbase-*.tar.gz ]; then
+  echo "Hbase tar ball not found at /usr/src/hbase-*.tar.gz!!"
+  exit
 fi
 
 if [ ! -f /opt/hase* ]; then
-  tar zxvf /usr/src/hbase-0.20.3.tar.gz -C /opt
+  tar zxvf /usr/src/hbase-*.tar.gz -C /opt
   ln -s /opt/hbase-* /opt/hbase
 
@@ -52,16 +53,18 @@
 EOF
 
-  clear
-  echo "=========================================="
-  echo " !! NOTE !!                               "
-  echo " please 'source /etc/profile' to update   "
-  echo " current \$PATH environment variables or  "
-  echo " login again to update \$PATH variables.  "
-  echo " .                                        "
-  echo " run 'start-hbase' to start hbase daemons."
-  echo " run 'stop-hbase'  to stop hbase daemons. "
-  echo " run 'hbase shell hbase-test'  to test    "
-  echo " hbase services.                          "
-  echo "=========================================="
+cat >> /etc/profile << EOF
+  echo "============================================"
+  echo " Use 'start-hadoop' to start hadoop daemons."
+  echo " Use 'start-hadoop' to stop  hadoop daemons."
+  echo " ."
+  echo " run 'start-hbase' to start hbase daemons.  "
+  echo " run 'stop-hbase'  to stop hbase daemons.   "
+  echo " run 'hbase shell hbase-test'  to test      "
+  echo " hbase services.                            "
+  echo " ."
+  echo " Use 'jps' to check java process for        "
+  echo " troubleshooting.                           "
+  echo "============================================"
+EOF
 
   echo " Starting HBase ....."
Index: /hadoop4win-setup/my_packages/hbase/bin/start-hbase
===================================================================
--- /hadoop4win-setup/my_packages/hbase/bin/start-hbase	(revision 231)
+++ /hadoop4win-setup/my_packages/hbase/bin/start-hbase	(revision 232)
@@ -1,5 +1,16 @@
 #!/bin/bash
-cygstart --showminnoactive /bin/bash -c /bin/start-hbase-daemon
-for ((i=1;i<=10;i++)); do sleep 1; printf "."; done
-printf "\n"
-jps
+if [ -z "$(jps | grep NameNode)" ]; then /bin/start-hadoop; fi
+if [ -z "$(jps | grep HRegionServer)" ]; then
+	cygstart --showminnoactive /bin/bash -c /bin/start-hbase-daemon
+	for ((i=1;i<=10;i++)); do sleep 1; printf "."; done
+	printf "\n"
+	jps
+else
+	echo "HBase had already started!!"
+	jps
+fi
+
+echo "============================================"
+echo " run 'cd ~; hbase shell hbase-test' to test "
+echo " hbase services.                            "
+echo "============================================"
Index: /hadoop4win-setup/my_packages/hbase/bin/stop-hbase
===================================================================
--- /hadoop4win-setup/my_packages/hbase/bin/stop-hbase	(revision 231)
+++ /hadoop4win-setup/my_packages/hbase/bin/stop-hbase	(revision 232)
@@ -1,4 +1,4 @@
 #!/bin/bash
-/opt/hbase/bin/hbase-daemon.sh stop regionserver
-/opt/hbase/bin/hbase-daemon.sh stop master
-/opt/hbase/bin/hbase-daemon.sh stop zookeeper
+if [ ! -z "$(jps | grep HRegionServer)" ];then /opt/hbase/bin/hbase-daemon.sh stop regionserver ; fi
+if [ ! -z "$(jps | grep HMaster)" ];then /opt/hbase/bin/hbase-daemon.sh stop master ; fi
+if [ ! -z "$(jps | grep HQuorumPeer)" ];then /opt/hbase/bin/hbase-daemon.sh stop zookeeper ; fi
