本文转载自http://www.iteblog.com/archives/790
首先,你得在电脑上面安装好jdk7,如何安装,这里就不说了,网上一大堆教程!然后安装好ssh,如何安装请参见本博客《Linux平台下安装SSH》、并设置好无密码登录(《Ubuntu和CentOS如何配置SSH使得无密码登陆》)。好了,上面的前提条件部署好之后,下面将进入Hadoop2.2.0的部署。
运行下面命令,将最新版的hadoop下载下来:
1 | [wyp @wyp hadoop]$ wget \ |
当然,你也可以用下载的软件到上面的地址去下载。上面的命令是一行,由于此处太长了, 所以强制弄成两行。假设下载好的hadoop存放在/home/wyp/Downloads/hadoop目录中,由于下载下来的hadoop是压缩好的,请将它解压,运行下面的命令:
1 | [wyp @wyp hadoop]$ tar -xvf hadoop- 2.2 . 0 .tar.gz |
解压之后,你将会看到如下目录结构:
01 | [wyp @wyp hadoop]$ ls -l |
03 | drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14 : 38 bin |
04 | drwxr-xr-x. 3 wyp wyp 4096 Oct 7 14 : 38 etc |
05 | drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14 : 38 include |
06 | drwxr-xr-x. 3 wyp wyp 4096 Oct 7 14 : 38 lib |
07 | drwxr-xr-x. 2 wyp wyp 4096 Oct 7 14 : 38 libexec |
08 | -rw-r--r--. 1 wyp wyp 15164 Oct 7 14 : 46 LICENSE.txt |
09 | drwxrwxr-x. 3 wyp wyp 4096 Oct 28 14 : 38 logs |
10 | -rw-r--r--. 1 wyp wyp 101 Oct 7 14 : 46 NOTICE.txt |
11 | -rw-r--r--. 1 wyp wyp 1366 Oct 7 14 : 46 README.txt |
12 | drwxr-xr-x. 2 wyp wyp 4096 Oct 28 12 : 37 sbin |
13 | drwxr-xr-x. 4 wyp wyp 4096 Oct 7 14 : 38 share |
下面是配置Hadoop的步骤:首先设置好Hadoop环境变量:
01 | [wyp @wyp hadoop]$ sudo vim /etc/profile |
03 | 在/etc/profile文件的末尾加上以下配置 |
05 | export HADOOP_DEV_HOME=/home/wyp/Downloads/hadoop |
06 | export PATH=$PATH:$HADOOP_DEV_HOME/bin |
07 | export PATH=$PATH:$HADOOP_DEV_HOME/sbin |
08 | export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} |
09 | export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} |
10 | export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME} |
11 | export YARN_HOME=${HADOOP_DEV_HOME} |
12 | export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop |
然后按:wq保存。为了让刚刚的设置生效,运行下面的命令
1 | [wyp @wyp hadoop]$ sudo source /etc/profile |
接下来修改Hadoop的hadoop-env.sh配置文件,设置jdk所在的路径:
1 | [wyp @wyp hadoop]$ vim etc/hadoop/hadoop-env.sh |
3 | 在里面找到JAVA_HOME,并将它的值设置为你电脑jdk所在的绝对路径 |
5 | # The java implementation to use. |
6 | export JAVA_HOME=/home/wyp/Downloads/jdk1. 7 .0_45 |
设置好之后请保存退出。接下来请配置好一下几个文件(都在hadoop目录下的etc/hadoop目录下):
01 | ----------------core-site.xml |
03 | <name>fs. default .name</name> |
08 | ------------------------- yarn-site.xml |
10 | <name>yarn.nodemanager.aux-services</name> |
11 | <value>mapreduce_shuffle</value> |
15 | <name>yarn.nodemanager.aux-services.mapreduce.shuffle. class </name> |
16 | <value>org.apache.hadoop.mapred.ShuffleHandler</value> |
19 | ------------------------ mapred-site.xml |
21 | <name>mapreduce.framework.name</name> |
26 | <name>mapred.system.dir</name> |
27 | <value>file:/opt/cloud/hadoop_space/mapred/system</value> |
32 | <name>mapred.local.dir</name> |
33 | <value>file:/opt/cloud/hadoop_space/mapred/local</value> |
37 | ----------- hdfs-site.xml |
39 | <name>dfs.namenode.name.dir</name> |
40 | <value>file:/opt/cloud/hadoop_space/dfs/name</value> |
45 | <name>dfs.datanode.data.dir</name> |
46 | <value>file:/opt/cloud/hadoop_space/dfs/data</value> |
47 | <description>Determines where on the local |
48 | filesystem an DFS data node should store its blocks. |
49 | If this is a comma-delimited list of directories, |
50 | then data will be stored in all named |
51 | directories, typically on different devices. |
52 | Directories that do not exist are ignored. |
57 | <name>dfs.replication</name> |
62 | <name>dfs.permissions</name> |
上面的配置弄好之后,现在来进行测试,看看配置是否正确。首先格式化一下HDFS,如下命令:
01 | [wyp @wyp hadoop]$ hdfs namenode -format |
02 | 13 / 10 / 28 16 : 47 : 33 INFO namenode.NameNode: STARTUP_MSG: |
03 | /************************************************************ |
05 | ..............此处省略好多文字...................... |
07 | ************************************************************/ |
08 | 13 / 10 / 28 16 : 47 : 33 INFO namenode.NameNode: registered UNIX signal |
09 | handlers for [TERM, HUP, INT] |
10 | Formatting using clusterid: CID-9931f367-92d3- 4693 -a706-d83e120cacd6 |
11 | 13 / 10 / 28 16 : 47 : 34 INFO namenode.HostFileManager: read includes: |
14 | 13 / 10 / 28 16 : 47 : 34 INFO namenode.HostFileManager: read excludes: |
18 | ..............此处也省略好多文字...................... |
20 | 13 / 10 / 28 16 : 47 : 38 INFO util.ExitUtil: Exiting with status 0 |
21 | 13 / 10 / 28 16 : 47 : 38 INFO namenode.NameNode: SHUTDOWN_MSG: |
22 | /************************************************************ |
23 | SHUTDOWN_MSG: Shutting down NameNode at wyp/192.168.142.138 |
24 | ************************************************************/ |
大概出现上面的输出,好了,去启动一下你的Hadoop吧,命令如下:
1 | [wyp @wyp hadoop]$ sbin/start-dfs.sh |
2 | [wyp @wyp hadoop]$ sbin/start-yarn.sh |
查看一下是否安装好了Hadoop,命令如下:
03 | 9684 RemoteMavenServer |
08 | 7222 SecondaryNameNode |
其中的jps是jdk自带的,如果出现NameNode、SecondaryNameNode、NodeManager、ResourceManager、DataNode这五个进程,那就恭喜你了,你的Hadoop已经安装好了!
这里附上如何关闭Hadoop各个服务
1 | [wyp @wyp hadoop]$ sbin/stop-dfs.sh |
2 | [wyp @wyp hadoop]$ sbin/stop-yarn.sh |