没啥事折腾一下装个单节点的,为得是方便学习和调试。

0.jdk安装,很简单在本博可以找到。

(我直接用root玩了,你也可以不这么搞)

在终端窗口里面输入: sudo  -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。


然后执行: vim /etc/lightdm/lightdm.conf.

增加 greeter-show-manual-login=true  allow-guest=false  . 修改完的整个配置文件是



[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true #手工输入登陆系统的用户名和密码
allow-guest=false   #不允许guest登录


1.下载hadoop-2.2.0.tar.gz(从Apache官方可以下载)

Hadoop路径配置

建议将Hadoop安装在/opt下,所以将/opt的属主修改为实际用户(本文以kevin用户为例):
  1. $sudo chown kevin:kevin /opt  

  2. tar xzvf hadoop-2.2.0.tar.gz  

  3. $ mv hadoop-2.2.0 /opt/hadoop


ssh本地互通

sudo apt-get install openssh-client
sudo apt-get install openssh-server

cd /root
ssh-keygen -t rsa -P ""   (回车)
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys用命令验证一下是否可以免密码链接localhost

然后执行以下命令:

  1. $ ssh localhost  

全局变量

在/etc/profile的末尾加入:

vim /etc/profile

  1. export HADOOP_HOME=/opt/hadoop  

  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  


确保可以在任意位置执行hadoop命令。

然后将配置文件启用:

$ source /etc/profile


目录配置

创建Hadoop的数据存储目录,并修改属主权限(我这用的root可以不需要这写)


$ sudo mkdir /hadoop
$ sudo chown krvin:kevin /hadoop
$ mkdir /hadoop/dfs
$ mkdir /hadoop/tmp

配置Hadoop

配置hadoop-env.sh

修改hadoop-env.sh文件:

$ cd /opt/hadoop/etc/hadoop
$ vim hadoop-env.sh

将默认的JAVA_HOME修改为:/opt/jdk1.6.0_35


配置core-site.xml

修改core-site.xml文件:

$cd /opt/hadoop/etc/hadoop
$vim core-site.xml

标签中(即嵌套在该标签中)加入以下内容:



 hadoop.tmp.dir
 /hadoop/tmp
 temporary directories.


 fs.defaultFS
 hdfs://192.168.1.100:9000
 The name of the defaultfile system. Either the literal string "local" or a host:port forNDFS.
 

 true


更多配置信息,参考:

http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/core-default.xml


配置hdfs-site.xml

修改hdfs-site.xml

  1. $ vim hdfs-site.xml  


标签中(即嵌套在该标签中)加入以下内容:


 dfs.namenode.name.dir
 file:/hadoop/dfs/name
 Determineswhere on the local filesystem the DFS name node should store the name table.
 true



 dfs.datanode.data.dir
 file:/hadoop/dfs/data
 Determineswhere on the local filesystem an DFS data node should store its blocks.
 

 true



 dfs.replication
 1



 dfs.permissions
 false


更多hdfs-site.xml的配置信息,参考:

http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

配置mapred-site.xml

默认不存在此文件,需要创建:

$ cp mapred-site.xml.template mapred-site.xml
$ vim mapred-site.xml

标签中(即嵌套在该标签中)加入以下内容:


 mapreduce.framework.name
 yarn



 mapred.system.dir
 file:/hadoop/mapred/system
 true



 mapred.local.dir
 file:/hadoop/mapred/local
 true


配置yarn-site.xml

执行以下命令:

$ vim yarn-site.xml

标签中(即嵌套在该标签中)加入以下内容:


 yarn.nodemanager.aux-services
 mapreduce_shuffle
 shuffle service that needsto be set for Map Reduce to run



 yarn.resourcemanager.hostname
 192.168.1.100
 hostanem of RM


yarn.resourcemanager.hostname配置后,其他端口号将使用默认。详见:

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

初始化

格式化NameNode:

  1. $ hdfs namenode -format  



启动DFS

分别按顺序执行以下命令:

  1. $ hadoop-daemon.sh start namenode  

  2. $ hadoop-daemon.sh start datanode  


使用jps查看进程是否启动

  1. $ jps  


并在以下网页检查:

  1. http://localhost:50070/dfshealth.jsp  

启动Yarn

  1. $ yarn-daemon.sh start resourcemanager  

  2. $ yarn-daemon.sh start nodemanager  

异常处理

如果发生任何启动异常,关闭进程后,需要清空数据:
  1. $ rm -rf /hadoop/dfs/*  

  2. $ rm -rf /hadoop/tmp/*  

然后重新执行格式化:
  1. $ hdfs namenode -format