需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop。
创建用户hadoop
$ sudo adduser hadoop
需要输入shiyanlou的密码:shiyanlou。并按照提示输入hadoop用户的密码。
将hadoop用户添加进sudo用户组
$ sudo usermod -G sudo hadoop
$ sudo apt-get update
$ sudo apt-get install openssh-server rsync
$ sudo service ssh restart
$ sudo apt-get install openjdk-7-jdk
$ java -version
切换到hadoop用户,需要输入添加hadoop用户时配置的密码。后续步骤都将在hadoop用户的环境中执行。
$ su -l hadoop
配置ssh环境免密码登录。
$ ssh-keygen -t rsa -P ""
在/home/hadoop/.ssh目录下生成了id_rsa(私钥)和id_rsa.pub(公交两个文件),将公钥追加到authorized_keys中,该文件保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
验证登录本机是否还需要密码,配置正确的话是可以不需密码登录的。
$ ssh localhost
在hadoop用户登录的环境中进行下列操作:
$ wget http://mirrors.aliyun.com/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
$ tar zxvf hadoop-2.6.0.tar.gz
$ sudo mv hadoop-2.6.0 /usr/local/hadoop
$ sudo chmod 774 /usr/local/hadoop
$ vim /home/hadoop/.bashrc
在/home/hadoop/.bashrc文件末尾添加下列内容:
#HADOOP START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$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 END
保存退出后,激活新加的环境变量
$ source ~/.bashrc
至此,Hadoop单机模式安装完成,可以通过下述步骤的测试来验证安装是否成功。
创建输入的数据,暂时采用/etc/protocols文件作为测试
$ cd /usr/local/hadoop
$ sudo mkdir input
$ sudo cp /etc/protocols ./input
执行Hadoop WordCount应用(词频统计)
$ bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount input output
查看生成的单词统计数据
$ cat output/*