一.在Ubuntu下创建hadoop组和hadoop用户
1、创建hadoop用户组
sudo addgroup hadoop
2、创建hadoop用户
sudo adduser -ingroup hadoop hadoop
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。如果不输入密码,回车后会重新提示输入密码,即密码不能为空。最后确认信息是否正确,如果没问题,输入 Y,回车即可。
3、为hadoop用户添加权限
输入:
sudo gedit /etc/sudoers
回车,打开sudoers文件,给hadoop用户赋予和root用户同样的权限
二.用新增加的hadoop用户登录Ubuntu系统
三.安装ssh
sudo apt-get install openssh-server
安装完成后,启动服务
sudo /etc/init.d/ssh start
查看服务是否正确启动:
ps -e | grep ssh
设置免密码登录,生成私钥和公钥
ssh-keygen -t rsa -P ""
四、安装Java环境
参考《Ubuntu 14.04下安装JDK8》一文
五、安装hadoop2.5.1
1、官网下载 http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.5.1/
2、安装
解压
sudo tar xzf hadoop-2.5.1.tar.gz
假如我们要把hadoop安装到/usr/local下,文件夹为hadoop
sudo mv hadoop-2.5.1 /usr/local/hadoop
赋予用户对该文件夹的读写权限
sudo chmod 774 /usr/local/hadoop
3、配置
1)配置~/.bashrc
配置该文件前需要知道Java的安装路径,用来设置JAVA_HOME环境变量,可以使用下面命令行查看安装路径
update-alternatives - -config java
配置.bashrc文件
sudo gedit ~/.bashrc
注意:输入这一条命令的时候,有可能出现以下提示:
Gtk-WARNING **: cannot open display:
这时候只需要关掉终端,然后重启即可
该命令会打开该文件的编辑窗口,在文件末尾追加下面内容,然后保存,关闭编辑窗口。
#HADOOP VARIABLES START
export JAVA_HOME=/opt/jdk1.8.0_20/
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=
HADOOP_INSTALL/bin
export PATH=
HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
执行下面命,使添加的环境变量生效:
source ~/.bashrc
2)编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh
执行下面命令,打开该文件的编辑窗口
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到JAVA_HOME变量,修改此变量如下
export JAVA_HOME=/opt/jdk1.8.0_20
修改后的hadoop-env.sh文件如下所示:
显示hadoop的一些有用的文档:
bin/hadoop
例如,你可以使用下面的命令查看hadoop的版本信息:
hadoop version
六.WordCount测试
单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功
/usr/local/hadoop路径下创建input文件夹
mkdir input
拷贝到input
cp etc/hadoop/*.xml input
执行
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar grep input output 'dfs[a-z.]+'
执行结果:
查看output: