天天看點

輕松搭建hadoop-1.2.1僞分布

輕松搭建hadoop-1.2.1僞分布

以CentOS為例:

CentOS虛拟機安裝:http://blog.csdn.net/baolibin528/article/details/32918565

網絡設定:http://blog.csdn.net/baolibin528/article/details/43797107

PieTTY用法:http://blog.csdn.net/baolibin528/article/details/43822509

WinSCP用法:http://blog.csdn.net/baolibin528/article/details/43819289

隻要把虛拟系統裝好之後,一切就可以用軟體遠端操作它。

1、設定IP

   配置僞分布隻在一台機器上運作,是以用 localhost 代替 IP 位址也可以。

   如果要用遠端工具(PieTTY、WinSCP等)連接配接 Linux,那就必須要設定 IP 位址。

在裝系統的時候就可以順便把IP位址配好。

如果現配執行指令: service  network restart   //重新開機網絡

                                ifconfig             //檢視IP 資訊

[[email protected] ~]# ifconfig
eth0      Linkencap:Ethernet  HWaddr 00:0C:29:44:A3:A5
          inetaddr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe44:a3a5/64 Scope:Link
          UP BROADCAST RUNNINGMULTICAST  MTU:1500  Metric:1
          RX packets:97040errors:0 dropped:0 overruns:0 frame:0
          TX packets:10935errors:0 dropped:0 overruns:0 carrier:0
          collisions:0txqueuelen:1000
          RX bytes:141600363(135.0 MiB)  TX bytes:1033124 (1008.9KiB)
 
lo        Link encap:LocalLoopback
          inetaddr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128Scope:Host
          UP LOOPBACKRUNNING  MTU:16436  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0frame:0
          TX packets:16errors:0 dropped:0 overruns:0 carrier:0
          collisions:0txqueuelen:0
          RX bytes:1184 (1.1KiB)  TX bytes:1184 (1.1 KiB)           

2、關閉防火牆

執行指令: service  iptables  stop

驗證:       service  iptables status

上面那個指令執行完之後,再次開機防火牆還會打開。

永久關閉防火牆:   chkconfig  iptables off

驗證:             chkconfig  --list |  grep  iptables

[[email protected]~]# chkconfig --list | grep iptables
iptables        0:關閉  1:關閉 2:關閉  3:關閉  4:關閉 5:關閉  6:關閉           

3、設定主機名:

指令1:  hostname 主機名

這個指令是暫時修改主機名,重新開機後無效。下面這個指令是永久修改主機名。

指令2: vim  /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=baolibin
GATEWAY=192.168.1.1           

4、IP與hostname 綁定:

指令: vim  /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4
::1         localhost localhost.localdomainlocalhost6 localhost6.localdomain6
192.168.1.100  baolibin           

5、設定SSH免密碼登陸:

執行指令:   ssh-keygen -t rsa -P ''

             cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

chmod 600~/.ssh/authorized_keys

[[email protected]~]# ssh 192.168.1.100
Last login: SunFeb 15 21:01:30 2015 from baolibin
[[email protected]~]#           

6、安裝JDK:

給JDK安裝賦予可執行權限: chmodu+x jdk-6u45-linux-x64.bin

解壓JDK :   ./jdk-6u45-linux-x64.bin

給解壓的檔案夾改名:  mv jdk1.6.0_45jdk

修改權限:    chown -R hadoop:hadoop jdk

在/etc/profile 檔案中添加:

#set java environment
export JAVA_HOME=/usr/local/jdk
export JRE_HOME=/usr/local/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH           
[[email protected]]# vim /etc/profile
[[email protected]]# source /etc/profile
[[email protected]]# java -version
java version"1.6.0_45"
Java(TM) SERuntime Environment (build 1.6.0_45-b06)
JavaHotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
[[email protected]]#           

7、安裝Hadoop:

解壓hadoop: tar -zxvf hadoop-1.2.1.tar.gz

修改權限:   chown -R hadoop:hadoop hadoop-1.2.1

重命名:    mv hadoop-1.2.1hadoop

編輯 :   vim /etc/profile

#sethadoop environment
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin           

source /etc/profile

修改conf目錄下的配置檔案hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml

hadoop-env.sh:

export JAVA_HOME=/usr/local/jdk

core-site.xml:

<configuration>
   <property>
           <name>fs.default.name</name>
           <value>hdfs://192.168.1.100:9000</value>
  </property>
  <property>
           <name>hadoop.tmp.dir</name>
           <value>/home/hadoop/dfs</value>
   </property>
</configuration>           

注意:之前寫的是 <value>/usr/hadoop/tmp</value>  每次使用需要重新格式化,要不然JobTracker過一會會自動消失,改成非tmp目錄就正常了。

hdfs-site.xml:

<configuration>
 <property>
       <name>dfs.replication</name>
      <value>1</value>
  </property>
  <property>
      <name>dfs.permissions</name>
      <value>false</value>
 </property>
</configuration>           

mapred-site.xml:

<configuration>
 <property>
       <name>mapred.job.tracker</name>
       <value>192.168.1.100:9001</value>
 </property>
</configuration>           

在conf下再修改 vim masters  和 vim slaves

内容均為192.168.1.100

8、格式化:

執行指令:  hadoop namenode -format

[[email protected] ~]$ jps
29363 Jps
[[email protected] ~]$ cd /usr/hadoop/bin
[[email protected] bin]$ hadoop namenode -format
Warning: $HADOOP_HOME is deprecated.
 
15/02/15 21:04:06 INFO namenode.NameNode:STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = baolibin/192.168.1.100
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build =https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152;compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   java = 1.6.0_45
************************************************************/
15/02/15 21:04:06 INFO util.GSet: Computingcapacity for map BlocksMap
15/02/15 21:04:06 INFO util.GSet: VMtype       = 64-bit
15/02/15 21:04:06 INFO util.GSet: 2.0% maxmemory = 1013645312
15/02/15 21:04:06 INFO util.GSet:capacity      = 2^21 = 2097152 entries
15/02/15 21:04:06 INFO util.GSet:recommended=2097152, actual=2097152
15/02/15 21:04:07 INFOnamenode.FSNamesystem: fsOwner=hadoop
15/02/15 21:04:07 INFOnamenode.FSNamesystem: supergroup=supergroup
15/02/15 21:04:07 INFOnamenode.FSNamesystem: isPermissionEnabled=false
15/02/15 21:04:07 INFOnamenode.FSNamesystem: dfs.block.invalidate.limit=100
15/02/15 21:04:07 INFOnamenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0min(s), accessTokenLifetime=0 min(s)
15/02/15 21:04:07 INFO namenode.FSEditLog:dfs.namenode.edits.toleration.length = 0
15/02/15 21:04:07 INFO namenode.NameNode:Caching file names occuring more than 10 times
15/02/15 21:04:08 INFO common.Storage:Image file /usr/hadoop/tmp/dfs/name/current/fsimage of size 112 bytes saved in0 seconds.
15/02/15 21:04:08 INFO namenode.FSEditLog:closing edit log: position=4, editlog=/usr/hadoop/tmp/dfs/name/current/edits
15/02/15 21:04:08 INFO namenode.FSEditLog:close success: truncate to 4, editlog=/usr/hadoop/tmp/dfs/name/current/edits
15/02/15 21:04:08 INFO common.Storage:Storage directory /usr/hadoop/tmp/dfs/name has been successfully formatted.
15/02/15 21:04:08 INFO namenode.NameNode:SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode atbaolibin/192.168.1.100
************************************************************/
[[email protected] bin]$           

9、啟動hadoop :

執行指令: start-all.sh

[[email protected]]$ start-all.sh
Warning:$HADOOP_HOME is deprecated.
 
startingnamenode, logging to/usr/hadoop/libexec/../logs/hadoop-hadoop-namenode-baolibin.out
192.168.1.100:starting datanode, logging to/usr/hadoop/libexec/../logs/hadoop-hadoop-datanode-baolibin.out
192.168.1.100:starting secondarynamenode, logging to/usr/hadoop/libexec/../logs/hadoop-hadoop-secondarynamenode-baolibin.out
startingjobtracker, logging to/usr/hadoop/libexec/../logs/hadoop-hadoop-jobtracker-baolibin.out
192.168.1.100:starting tasktracker, logging to /usr/hadoop/libexec/../logs/hadoop-hadoop-tasktracker-baolibin.out
[[email protected]]$           

檢視程序:

[[email protected]]$ jps
29707SecondaryNameNode
29804JobTracker
29928TaskTracker
29585DataNode
30049 Jps
29470NameNode
[[email protected]]$           

10、在浏覽器檢視: http://192.168.1.100:50070  http://192.168.1.100:50030

用遠端軟體登入,直接在Windows 網頁上打開即可:

50070:

輕松搭建hadoop-1.2.1僞分布

50030:

輕松搭建hadoop-1.2.1僞分布

11、關閉hadoop

執行指令: stop-all.sh

[[email protected]]$ stop-all.sh
Warning:$HADOOP_HOME is deprecated.
 
stoppingjobtracker
192.168.1.100:stopping tasktracker
stoppingnamenode
192.168.1.100:stopping datanode
192.168.1.100:stopping secondarynamenode
[[email protected]]$           

12、啟動時沒有NameNode的可能原因:

       (1)沒有格式化

       (2)環境變量設定錯誤

       (3)ip與hostname綁定失敗