一. 安装Ubuntu 12.04;
二. 在Ubuntu下创建hadoop用户组和用户;
1. 创建hadoop用户组:
- sudo addgroup hadoop
如图:
2. 创建hadoop用户:
- sudo adduser -ingroup hadoop hadoop
如图:
3. 给hadoop用户添加权限,打开/etc/sudoers文件:
- sudo gedit /etc/sudoers
按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限。
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,
hadoop ALL=(ALL:ALL) ALL
如图:
三. 在Ubuntu下安装JDK 7
四. 安装ssh服务
五、 建立ssh无密码登录本机
首先要转换成hadoop用户,执行以下命令:
su - hadoop
如图:
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1. 创建ssh-key,,这里我们采用rsa方式:
ssh-keygen -t rsa -P ""
如图:
(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)
2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的:
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
如图:
(完成后就可以无密码登录本机了。)
3. 登录localhost:
ssh localhost
如图:
( 注:当ssh远程登录到其它机器后,现在你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)
4. 执行退出命令:
exit
六. 安装hadoop
hadoop版本是2.0.4alpha
安装包解压缩后,先进入etc/hadoop/目录下,按照单机版方式配置几个配置文件。
以前的hadoop版本配置文件在hadoop/conf/路径下
有core-site.xml,hdfs-site.xml,但是没有了mapred-site.xml,取而代之的是yarn-site.xml
masters和slaves两个好像masters也没有,建一个内容就是localhost
1、core-site.xml
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://127.0.0.1:9000</value>
- </property>
2、hdfs-site.xml
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/name</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>file:/usr/local/hadoop-2.0.2-alpha/dfs/data</value>
- </property>
- mapred-site.xml
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
hadoop2.0.4alpha好像没有mapred-site.xml这个文件
可以自己建一个
三、启动
启动的文件都是 sbin下,bin下的都是命令。之前的hadoop版本启动文件好像在bin下。如果你为了方便可以把这两个目录添加到环境变量中去,这样就可以直接运行命令,而不用运行绝对路径。配置环境变量略(我这里还是用绝对路径)。
切换到该安装目录下
首先格式化 namenode
- bin/hdfs namenode -format
确定不报错,且出现
startos/192.168.0.101是我的计算机名和Ip
启动namenode
- sbin/hadoop-daemon.sh start namenode
- sbin/hadoop-daemon.sh start datanode
运行测试
jps
出现:
8431 Jps
8353 DataNode
8271 NameNode
证明启动成功,如果没有出现DataNode或者NameNode,证明启动没有成功,可以查看hadoop安装目录下的logs下的日志记录。
结果启动namenode失败
chown: changing ownership of `/usr/local/hadoop/logs': Operation not permitted
starting namenode, logging to /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out
sbin/hadoop-daemon.sh: line 151: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
head: cannot open `/usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out' for reading: No such file or directory
sbin/hadoop-daemon.sh: line 166: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
sbin/hadoop-daemon.sh: line 167: /usr/local/hadoop/logs/hadoop-hadoop-namenode-ubuntu.out: Permission denied
进行一个授权
将hadoop安装目录授权给当前用户
sudo chown -R hadoop:hadoop /usr/local/hadoop
再次启动
sbin/hadoop-daemon.sh start namenode
经验证
jps
6296 NameNode
6332 Jps
成功启动
终于把NameNode启动了
原文链接:http://blog.sina.com.cn/s/blog_4a17fc5b0101dyda.html
【编辑推荐】