1. Ubuntu环境安装和基本配置
本例程中在MAC上安装使用的虚拟机Ubuntu系统(64位,desktop);
基本配置
考虑到以后涉及到hadoop的应用便于权限的管理,特别地创建一个hadoop用户,user和group名称均为hadoop。首先创建hadoop用户组:
sudo addgroup hadoop
在刚才创建的分组中创建hadoop用户:
sudo adduser –ingroup hadoop hadoop
创建用户的时候会提示输入密码,以及全名,房间号码等信息。然后,为hadoop用户添加权限,编辑/etc/sudoers文件,注意,在ubuntu下编辑此文件时必须要使用命令(直接使用vim可能导致不能正常保存或系统崩溃):
sudo visudo –f /etc/sudoers
默认使用的时nano编辑器打开,在root下添加一行将使得hadoop用户也具有管理员权限。
创建用户完成后,安装ssh服务openssh-server,使得外部系统可以通过ssh命令直接进行操作。
java环境安装
运行hadoop要求必须要有一个java环境,这里直接通过下面的方式进行安装。
sudo apt-get install openjdk-7-jdk
安装完成后,配置环境变量JAVA_HOME,普通方式我们无法直接看到java安装的地址,这是因为java安装完成后都是通过link文件的方式放到/usr/bin/javac中,可以通过下图的手段看到java的安装地址:
设置环境变量有几种方式,本shell中直接export,只能影响当前shell窗口;本用户目录下的~/.bashrc文件,只会影响本用户;编辑/etc/profile文件则会对所有用户都起作用,这里我们使用第三种方式在文件的最后面加入以下的export语句:
保存退出后并不能起作用,必须要使用source命令手动刷新:
2. 安装和配置Hadoop
本例程中我们使用的是hadoop相对稳定的一个版本2.2.0进行配置(在服务器中下载http://mirror.bit.edu.cn/apache/hadoop/common/stable/)。
将hadoop解压到~/Public/hadoop文件夹下。
编辑文件hadoop/etc/hadoop/hadoop-env.sh文件,设置JAVA_HOME,如果前一步骤中已经设置,这部分也可以跳过。
编辑文件hadoop/etc/hadoop/core-site.xml文件:
注意,在设置hadoop.tmp.dir后,其中的/home/hadoop/Public/hadoop/tmp必须存在,需要手动去mkdir,否则后面会报错。
编辑hadoop/etc/hadoop/mapred-site.xml文件:
编辑hadoop/etc/hadoop/hdfs-site.xml文件:
3. 启动Hadoop
在配置完成之后,开始启动hadoop。
在初次运行hadoop时,需要初始化hadoop文件系统,在hadoop/bin目录下执行下面的命令:
./hdfs namenode –format
执行完成后,如果成功,会在日志看到以下的内容:
然后,在hadoop/sbin目录下运行命令:
./start-dfs.sh
若停止hadoop,依次运行如下命令:
./stop-yarn.sh
./stop-dfs.sh
但整个过程下来,我们发现还是出现错误...,这是因为hadoop编译的库使用的是32位的,而我们的Ubuntu Server使用的是64位,经过查证,需要重新进行编译……,下一章中我们将会进行hadoop环境的编译安装。
Hadoop 2.2.0 - warning: You have loaded library /home/hadoop/2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard.