10分鐘搭建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 #臨時文件夾
|
下載最新的stable Hadoop到/home/hadoop/:curl http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.0.4/hadoop-1.0.4-bin.tar.gz
解壓: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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!