首先安裝JDK
1下載JDK-下載jkd(http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2對於32位的系統可以下載以下兩個Linux x86版本, 64位系統下載Linux x64版本(即x64.rpm和x64.tar.gz)(uname -a 查看系統版本 or getconfig LONG_BIT)
3安裝JDK
安裝方法參考http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html
a 選擇要安裝java的位置,如/usr/目錄下,新建文件夾java(mkdirjava)
b 將文件jdk-7u40-linux-i586.tar.gz移動到/usr/java
c 解壓:tar -zxvf jdk-7u40-linux-i586.tar.gz
v 刪除jdk-7u40-linux-i586.tar.gz(爲了節省空間)
至此,jkd安裝完畢,下面配置環境變量
4打開/etc/profile(vim /etc/profile)
在最後面添加如下內容:
JAVA_HOME=/usr/java/jdk1.7.0_40(這裏的版本號1.7.40要根據具體下載情況修改)
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOMECLASSPATH PATH
5source /etc/profile
6驗證是否安裝成功:java–version
-----------------------------------------------------------------------------------------
然後配置並啓動Hadoop
運行下面命令,將最新版的hadoop下載下來:
[wyp@wyp hadoop]$ wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
當然,你也可以用下載的軟件到上面的地址去下載。上面的命令是一行,由於此處太長了, 所以強制弄成兩行。假設下載好的hadoop存放在/home/wyp/Downloads/hadoop目錄中,由於下載下來的hadoop是壓縮好的,請將它解壓,運行下面的命令:
[wyp@wyp hadoop]$ tar -xvf hadoop-2.2.0.tar.gz
解壓之後,你將會看到如下目錄結構:
[wyp@wyp hadoop]$ ls -l
total 56
drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14:38 bin
drwxr-xr-x. 3 wyp wyp 4096 Oct 7 14:38 etc
drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14:38 include
drwxr-xr-x. 3 wyp wyp 4096 Oct 7 14:38 lib
drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14:38 libexec
-rw-r--r--. 1 wyp wyp 15164 Oct 7 14:46 LICENSE.txt
drwxrwxr-x. 3 wyp wyp 4096 Oct 28 14:38 logs
-rw-r--r--. 1 wyp wyp 101 Oct 7 14:46 NOTICE.txt
-rw-r--r--. 1 wyp wyp 1366 Oct 7 14:46 README.txt
drwxr-xr-x. 2 wyp wyp 4096 Oct 28 12:37 sbin
drwxr-xr-x. 4 wyp wyp 4096 Oct 7 14:38 share
下面是配置Hadoop的步驟:首先設置好Hadoop環境變量:
[wyp@wyp hadoop]$ sudo vim /etc/profile
在/etc/profile文件的末尾加上以下配置
export HADOOP_DEV_HOME=/home/wyp/Downloads/hadoop
export PATH=$PATH:$HADOOP_DEV_HOME/bin
export PATH=$PATH:$HADOOP_DEV_HOME/sbin
export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME}
export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME}
export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}
export YARN_HOME=${HADOOP_DEV_HOME}
export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop
然後按:wq保存。爲了讓剛剛的設置生效,運行下面的命令
[wyp@wyp hadoop]$ sudo source /etc/profile
接下來修改Hadoop的hadoop-env.sh配置文件,設置jdk所在的路徑:
[wyp@wyp hadoop]$ vim etc/hadoop/hadoop-env.sh
在裏面找到JAVA_HOME,並將它的值設置爲你電腦jdk所在的絕對路徑
# The java implementation to use.
export JAVA_HOME=/home/wyp/Downloads/jdk1.7.0_45
設置好之後請保存退出。接下來請配置好一下幾個文件(都在hadoop目錄下的etc/hadoop目錄下):
----------------core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:8020</value>
<final>true</final>
</property>
------------------------- yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
------------------------ mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/opt/cloud/hadoop_space/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>file:/opt/cloud/hadoop_space/mapred/local</value>
<final>true</final>
</property>
----------- hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/cloud/hadoop_space/dfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/cloud/hadoop_space/dfs/data</value>
<description>Determines where on the local
filesystem an DFS data node should store its blocks.
If this is a comma-delimited list of directories,
then data will be stored in all named
directories, typically on different devices.
Directories that do not exist are ignored.
</description>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
上面的配置弄好之後,現在來進行測試,看看配置是否正確。首先格式化一下HDFS,如下命令:
[wyp@wyp hadoop]$ hdfs namenode -format
13/10/28 16:47:33 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
..............此處省略好多文字......................
************************************************************/
13/10/28 16:47:33 INFO namenode.NameNode: registered UNIX signal
handlers for [TERM, HUP, INT]
Formatting using clusterid: CID-9931f367-92d3-4693-a706-d83e120cacd6
13/10/28 16:47:34 INFO namenode.HostFileManager: read includes:
HostSet(
)
13/10/28 16:47:34 INFO namenode.HostFileManager: read excludes:
HostSet(
)
..............此處也省略好多文字......................
13/10/28 16:47:38 INFO util.ExitUtil: Exiting with status 0
13/10/28 16:47:38 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at wyp/192.168.142.138
************************************************************/
[wyp@wyp hadoop]$
大概出現上面的輸出,好了,去啓動一下你的Hadoop吧,命令如下:
[wyp@wyp hadoop]$ sbin/start-dfs.sh
[wyp@wyp hadoop]$ sbin/start-yarn.sh
查看一下是否安裝好了Hadoop,命令如下:
[wyp@wyp hadoop]$ jps
9582 Main
9684 RemoteMavenServer
7011 DataNode
7412 ResourceManager
17423 Jps
7528 NodeManager
7222 SecondaryNameNode
6832 NameNode
[wyp@wyp hadoop]$
如何關閉Hadoop各個服務:其中的jps是jdk自帶的,如果出現NameNode、SecondaryNameNode、NodeManager、ResourceManager、DataNode這五個進程,那就恭喜你了,你的Hadoop已經安裝好了
[wyp@wyp hadoop]$ sbin/stop-dfs.sh
[wyp@wyp hadoop]$ sbin/stop-yarn.sh