Hadoop學習筆記(一)環境搭建
我使用的環境是:
Ubuntu11.10下安裝Hadoop1.0.0(單機偽分布式)
安裝ssh
apt-get install ssh
安裝rsync
apt-get install rsync
配置ssh免密碼登入
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
驗證是否成功
ssh localhost
安裝Hadoop1.0.0,JDK
建立linux 終端,建立app目錄,Java和Hadoop都將安裝在此目錄中。
mkdir /home/app
接下來,安裝Java和Hadoop,Hadoop解壓即可。
cd /home/app
chmod +x jdk-6u31-linux-i586.bin
./jdk-6u31-linux-i586.bin
tar zxf hadoop-1.0.0-bin.tar.gz
配置JDK環境變數
vi /etc/profile
增加下面語句到最後
export JAVA_HOME=/home/app/jdk1.6.0_31
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
接下來開始配置Hadoop
進入Hadoop目錄
cd /home/app/hadoop-1.0.0
修改設定檔,指定JDk安裝路徑
vi conf/hadoop-env.sh
export JAVA_HOME=/home/app/jdk1.6.0_31
修改Hadoop核心設定檔core-site.xml,這裡配置的是HDFS的地址和連接埠號碼
vi conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改Hadoop中HDFS的配置,配置的備份方式預設為3,因為安裝的是單機版,所以需要改為1
vi conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
修改Hadoop中MapReduce的設定檔,配置的是JobTracker的地址和連接埠
vi conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
接下來,啟動Hadoop,在啟動之前,需要格式化Hadoop的檔案系統HDFS,進入Hadoop檔案夾,輸入下面命令
bin/hadoop namenode -format
然後啟動Hadoop,輸入命令
bin/start-all.sh
這個命令為所有服務全部啟動。
最後,驗證Hadoop是否安裝成功。開啟瀏覽器,分別輸入一下網址:
http://localhost:50030 (MapReduce的Web頁面)
http://lcoalhost:50070 (HDfS的web頁面)
如果都能查看,說明安裝成功。
Hadoop分別從三個角度將主機劃分為兩種角色:
第一,劃分為master和slave。
第二,從HDFS的角度,將主機劃分為namenode和datanode(在Distributed File System中,目錄的管理很重要,管理目錄的就相當於主人,而namenode就是目錄管理者)。
第三,從MapReduce的角度,將主機劃分為JobTracker和TaskTracker(一個job經常被劃分為多個task,從這個角度不難理解它們之間的關係)。