主要分爲以下幾個步驟:
安裝java環境
配置環境變量
配置ssh
配置hadoop爲單節點【僞分佈式】模式A
一、安裝JDK
1 下載並安裝
sudo apt-get install openjdk-6-jdk
( 安裝JDK7爲:sudo apt-get install openjdk-7-jdk)
2 在命令行下輸入java -version 查看是否安裝成功
root@cloud1:/home/ubuntu/hadoop-1.0.4# java -version
java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.3) (6b27-1.12.3-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
如上則安裝成功
3 配置JAVA環境變量
編輯文件/etc/profile,添加如下幾行
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64(JAVA所在的實際目錄)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/
二、配置ssh 免密碼登錄
1 安裝所需軟件
sudo apt-get install ssh
2 配置免密碼登錄
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
3 驗證是否成功
ssh localhost
三、安裝hadoop
1 下載hadoop至服務器
(http://www.carfab.com/apachesoftware/hadoop/common/下載各種版本的網址)
wget http://www.carfab.com/apachesoftware/hadoop/common/hadoop-1.0.4/hadoop-1.0.4.tar.gz
2 解壓
tar -xvf hadoop-1.0.4.tar.gz
3 配置hadoop
以下四個配置文件均在Hadoop解壓文件夾的conf/目錄下
(1)配置hadoop-env.sh
修改JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
(2)配置core-site.xml
修改Hadoop核心配置文件core-site.xml,這裏配置的是HDFS的地址和端口號
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/ubuntu/tmp</value>
</property>
</configuration>
(3)配置hdfs-site.xml
修改Hadoop中HDFS的配置,配置的備份方式默認爲3,因爲安裝的是單機版,所以需要改爲1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
(4) 配置mapred-site.xml
修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
4 配置hadoop環境變量
vi /etc/profile (添加)
export HADOOP_HOME=/home/ubuntu/hadoop-1.0.4
export PATH=$HADOOP_HOME/bin:$PATH
然後執行source /etc/profile
5 初始化HDFS
bin/hadoop namenode -format或者 hadoop namenode -format
6 啓動所有hadoop服務
start-all.sh
7 驗證是否能正常啓動
jps
如果正確的話,這時會顯示已經啓動的項目:
root@cloud1:/home/ubuntu/hadoop-1.0.4# jps
11896 JobTracker
13493 Jps
11819 SecondaryNameNode
11482 DataNode
12200 TaskTracker
11155 NameNode
如果沒有正常啓動,先關閉所有守護進程stop-all.sh,然後再根據提示信息重新啓動。
8 跑wordcount
a.準備一個文本文件,
sudo vi /tmp/test.txt
隨意輸入一些單詞,然後保存關閉退出。
b.將準備的測試文件上傳到dfs文件系統中的firstTest目錄下
hadoop dfs -copyFromLocal /tmp/test.txt firstTest
c.執行wordcount
hadoop jar hadoop-examples-1.0.4.jar wordcount firstTest result
注:hadoop-examples-1.0.4.jar會跟版本有關係,具體的名字可查看安裝目錄下的文件。
d.查看結果
hadoop dfs -cat result/part-r-00000
(注:結果文件默認是輸出到一個名爲“part-r-*****”的文件中的,可用指令“hadoopdfs -ls result”查看result目錄下包含哪些文件)
至此,hadoop僞分佈式模式搭建完成。