我們將描述Hadoop的安裝在單節點和多節點. Hadoop的環境設置和配置進行詳細地描述. 首先,你需要下載以下軟件 (轉).
- Java JDK轉的
- Apache Hadoop的 0.20.204.0 RPM
一) 單節點系統Hadoop的安裝
1) 在Red Hat或CentOS安裝JDK 5+ 系統.
$ ./的jdk-6u26-linux的64-rpm.bin.sh
Java的安裝和設置JAVA_HOME到/ usr / java / default文件
2) 安裝Apache的Hadoop 0.20.204.
$ 的rpm-i的hadoop-0.20.204.0-1.i386.rpm的
3) 安裝Apache Hadoop的配置和啟動Hadoop進程.
$ /usr / sbin目錄/ Hadoop的安裝單node.sh的
安裝嚮導將引導您完成設置Hadoop的一個問題清單. Hadoop的運行後對所有問題都回答'Y'.
HDFS為自己創建一個用戶帳戶.
$ /usr / sbin目錄/的hadoop-CREATE-user.sh-U的$ USER
乙) 多節點Hadoop的安裝
1) 同時安裝了JDK和Hadoop 0.20.204.0 在所有節點上的RPM
2) 生成的hadoop配置的所有節點上:
$ /usr / sbin目錄/ Hadoop的安裝,conf.sh \
--名稱節點-URL = HDFS://${NameNode的}:9000/ \
--JobTracker的URL = ${JobTracker的}:9001 \
--CONF-DIR = /等/ Hadoop的 \
--hdfs-dir=/var/lib/hadoop/hdfs \
--名稱節點-DIR =的/ var / lib中/ Hadoop的/ HDFS /名稱節點 \
--mapred-DIR =的/ var / lib中/ Hadoop的/ mapred \
--Datanode的-DIR =的/ var / lib中/ Hadoop的/ HDFS /數據 \
--登錄DIR = /無功/日誌/ Hadoop的 \
--汽車
哪裡 ${NameNode的} 和 ${JobTracker的} 應更換主機名NameNode和jobtracker.
3) 格式的NameNode和設置默認HDFS佈局.
$ /usr / sbin目錄/ Hadoop的安裝,hdfs.sh
4) 啟動所有的數據節點.
$ /etc / init.d中/ Hadoop的Datanode的開始
5) 開始工作跟踪節點.
$ /etc / init.d中/ Hadoop的jobtracker啟動
6) 開始任務跟踪節點.
$ /etc / init.d中/ Hadoop的任務跟踪啟動
7) HDFS為自己創建一個用戶帳戶.
$ /usr / sbin目錄/的hadoop-CREATE-user.sh-U的$ USER
Ç) 為Hadoop的安裝環境
$ VI〜/。bash_profile文件
在插入模式下設定的路徑JAVA_HOME
出口JAVA_HOME
保存文件,點擊 ESC:WQ
運行的。bash_profile
$ 源〜/。bash_profile文件
在Hadoop的環境文件中設置JAVA_HOME路徑
$ /ETC /在Hadoop / Hadoop的env.sh
ð) Hadoop的配置
使用下面的:
conf /中核心的site.xml:
<組態> |
<財產> |
<名稱>fs.default.name</名稱> |
<值>HDFS://本地:9000</值> |
</財產> |
</組態> |
conf /中HDFS的site.xml:
<組態> |
<財產> |
<名稱>dfs.replication</名稱> |
<值>1</值> |
</財產> |
</組態> |
conf /中mapred-site.xml的:
<組態> |
<財產> |
<名稱>mapred.job.tracker</名稱> |
<值>本地:9001</值> |
</財產> |
</組態> |
它) Hadoop的命令
$ Hadoop的
$ Hadoop的NameNode的格式 (格式化名稱節點, 如果請求
回答按'Y')
$ Hadoop的NameNode的 (啟動NameNode的)
$ 發現 / -名稱開始dfs.sh (找到目錄中的文件)
$ CD usr / sbin目錄 (直接轉到相應的目錄)
$ 啟動dfs.sh
$ 啟動mapred.sh
$ Hadoop的FS-LS / (顯示HDFS的根文件夾)
$ hadooop FS放input/file01 / input/file01 (複製本地input/file01
HDFS根/ input/file01的)