一、在ubuntu下创建hadoop用户组和用户
1、创建hadoop用户组:
sudo addgroup hadoop
2、创建hadoop用户:
sudo adduser -ingroup hadoop hadoop
3、给hadoop用户添加权限,打开/etc/sudoers文件
给hadoop用户赋予root用户同样的权限。在root ALL=(ALL:ALL)下添加hadoop ALL=(ALL:ALL)
二、ubuntu下安装JDK
使用如下命令即可:sudo apt-get install openjdk-6-jre
三、安装ssh服务
这里的ssh和三大框架:spring,struts,hibernate没有什么关系,ssh可以实现远程登录和管理,具体可以参考其他相关资料。
安装openssh-server:
sudo apt-get install ssh openssh-server
四、建立ssh无密码登录本机
首先要转换成hadoop用户,执行以下命令:
su - hadoop
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版本是hadoop-2.0.3(http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/)
1、假设hadoop-2.0.3-alpha.tar.gz已经下载,将它复制到安装目录 /usr/local/
sudo cp hadoop-2.0.3-alpha.tar.gz /usr/local/
2、解压hadoop-2.0.3-alpha.tar.gz
cd /usr/local
sudo tar -zxf hadoop-2.0.3-alpha.tar.gz
3、将解压出的文件夹改名为hadoop:
sudo mv hadoop-2.0.3 hadoop
4、将该hadoop文件夹的属主用户设为hadoop:
sudo chown -R hadoop:hadoop hadoop
5、打开hadoop/conf/hadoop-env.sh文件:
sudo gedit hadoop/conf/hadoop-env.sh
配置conf/hadoop-env.sh文件:
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
6、打开conf/core-site.xml文件:
首先在hadoop目录下新建几个文件夹:
mkdir tmp
sudo gedit hadoop/conf/core-site.xml
fs.default.name
hdfs://localhost:9000
hadoop.tmp.dir
/usr/local/hadoop/tmp
7、打开conf/mapred-site.xml文件:
sudo gedit hadoop/conf/mapred-site.xml
mapred.job.tracker
localhost:9001
8、 配置conf/hdfs-site.xml文件:
首先在hadoop目录下新建几个文件夹:
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data
打开conf/hdfs-site.xml文件
sudo gedit hadoop/conf/hdfs-site.xml
dfs.replication
1
dfs.name.dir
/usr/local/hadoop/hdfs/name
dfs.data.dir
/usr/local/hadoop/hdfs/data
9、格式化HDFS
通过以上步骤,我们已经设定好Hadoop单机测试到环境,接着就是启动hadoop相关服务,格式化namenode,secondarynamenode,tasktracker
~$ source /usr/local/hadoop/conf/hadoop-env.sh
~$ hadoop namenode -format
六、运行hadoop
进入hadoop目录:
cd /usr/local/hadoop/
启动bin/start-all.sh:
bin/start-all.sh
检测hadoop是否启动成功:
jps
如果有Namenode,SecondaryNameNode,TaskTracker,DataNode,JobTracker五个进程,就说明你的hadoop单机版环境配置好了!至此,单机hadoop的环境就搭建好了。
如果有进程没启动,请到logs文件中查阅相应文件,找到不能启动的原因,再去网上搜索解决办法。
PS:一般的搭建问题是由文件访问权限造成的。