10分鐘搭建Hadoop集群

jopen 11年前發布 | 16K 次閱讀 Hadoop 分布式/云計算/大數據
10分鐘搭建Hadoop集群

1. 準備
     3臺Linux機器或虛擬機,安裝了CentOS6/Redhat6/Ubuntu;
    
    在所有機器上都安裝了ssh和rsync,ubuntu安裝例子:
$ sudo apt-get install ssh 
$ sudo apt-get install rsync
安裝java。
2. 規劃節點:
將其中一臺機器作為master作為NameNode,另外兩臺作為DataNode,命名3臺機器為:node1,node2,node3,這里將node1作為NameNode,node2,node3作為dataNode;
在所有機器的/etc/hosts中加入hostname配置信息,加入如下例子中的紅色部分:
127.0.0.1       localhost


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.1.11 node1
192.168.1.12 node2
192.168.1.13 node3
3. 環境準備:
為方便管理和安裝,在所有機器上創建同一個hadoop用戶,以下所有操作都在此賬戶下進行。
 設置無密碼登陸,在node1上創建public密鑰,并將public密鑰copy到其他節點機器,并將public密鑰導入到所有機器(包括本機):
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
導入密鑰后,在node1上,分別用ssh localhost;ssh node1;ssh node2;ssh node3測試密鑰安裝正確,并能無密碼登陸。

規劃hadoop數據目錄,在所有機器上創建如下目錄:
$ mkdir  ~/data
$ mkdir  ~/data/hdfs
$ mkdir  ~/data/hdfs/name #namenode
$ mkdir  ~/data/hdfs/data #datanode
$ mkdir  ~/data/hdfs/tmp #臨時文件夾

解壓:tar -zxvf hadoop-1.0.4-bin.tar.gz

修改配置文件:
 hadoop-1.0.4/conf/hadoop-env.sh 中指定JAVA_HOME:
# The java implementation to use.  Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
export JAVA_HOME=/opt/java/jdk1.6.0_24
# Extra Java CLASSPATH elements.  Optional.
# export HADOOP_CLASSPATH=

 hadoop-1.0.4/conf/core-site.xml
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/data/hdfs/tmp</value>
   </property>

   <property>
     <name>fs.default.name</name>
     <value>hdfs://node1:9000</value>
   </property>

 hadoop-1.0.4/conf/hdfs-site.xml
   <property>
     <name>dfs.name.dir</name>
     <value>/home/hadoop/data/hdfs/name</value>
   </property>

   <property>
     <name>dfs.data.dir</name>
     <value>/home/hadoop/data/hdfs/data</value>
   </property>
 hadoop-1.0.4/conf/mapred-site.xml

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

   <property>
     <name>mapreduce.jobtracker.system.dir</name>
     <value>/home/hadoop/data/hdfs/mapred/system</value>
   </property>

   <property>
     <name>mapreduce.cluster.local.dir</name>
     <value>/home/hadoop/data/hdfs/mapred/local</value>
   </property>
hadoop-1.0.4/conf/masters
node1
hadoop-1.0.4/conf/slaves
node2
node3
4. 同步hadoop所有軟件和配置到其他機器
  創建目標機器列表文件,并加入目標機器名:/home/hadoop/servers
node2
node3
創建同步腳本:/home/hadoop/cp_hadoop
for host in `cat servers`
do
  echo ------------------------------------------------------------------
  echo rsync host:   $host
  ssh $host 'rm -fr /home/hadoop/hadoop-1.0.4'
  rsync -avz  /home/hadoop/hadoop-1.0.4   $host:/home/hadoop/hadoop-1.0.4

done
執行同步腳本: $ ./cp_hadoop

5. 啟動所有服務:
$ cd /home/hadoop/hadoop-1.0.4/bin
$ ./start_all.sh
6. 訪問web界面驗證安裝:
  • NameNode - http://node1:50070/
  • JobTracker - http://node2:50030/
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!