一 、新建用户和用户组
注明:(这个步骤其实可以不用的,不过单独使用一个不同的用户好一些)
1.新建用户组
sudo addgroup hadoop
2.新建用户
sudo adduser -ingroup hadoop hadoop
3.添加hadoop用户权限
sudo gedit /etc/sudoers
打开sudoer文件后添加hadoop用户
# User privilege specification root ALL=(ALL:ALL) ALL hadoop ALL=(ALL:ALL) ALL
4.使用hadoop用户登录
二、安装ssh
sudo apt-get install openssh-server
安装完成后,启动服务
sudo /etc/init.d/ssh start
查看服务是否正确启动:ps -e | grep ssh
集群、单节点模式都需要用到SSH无密码登陆,首先设置SSH无密码登陆本机。
输入命令
ssh localhost
首次登录需要输入yes
设置免密码登录,生成私钥和公钥
ssh-keygen -t rsa -P ""
下面我们将公钥追加到authorized_keys中,它用户保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后使用ssh localhsot就可以无密码登录了。
使用exit退出登录
三、安装Java环境
以前的教程都是建议安装Oracle的JDK,不建议使用OpenJDK,不过按http://wiki.apache.org/hadoop/HadoopJavaVersions中说的,新版本在OpenJDK 1.7下是没问题的。通过命令安装OpenJDK 7。坑
sudoapt-getinstall openjdk-7-jreopenjdk-7-jdk
查看安装结果,输入命令:java -version,结果如下表示安装成功。
查看安装结果,输入命令:java -version,结果如下表示安装成功。
四、 安装Hadoop 2.4.1
2.4.1的下载地址为: http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.4.1/hadoop-2.4.1.tar.gz,安装教程主要参考了官方教程http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html。
下载后,解压到/usr/local/中。然后修改文件夹名为hadoop
赋予用户对该文件夹的读写权限(这个问题很是坑,我当时配置的时候被一些方法坑了,不太了解文件权限的东西)
有的建议是这样:
sudo chmod 774 /usr/local/hadoop
但是我用这个命令之后,文件夹全部被隐藏了,都打不开。最后我是删除了hadoop文件夹,使用下面这个才解决的。
sudo chown -R hadoop:hadoop /usr/local/hadoop
配置~/.bashrc
配置该文件前需要知道Java的安装路径,用来设置JAVA_HOME环境变量,可以使用下面命令行查看安装路径
update-alternatives - -config java
执行结果如下:
配置.bashrc文件
sudo gedit ~/.bashrc
#HADOOP VARIABLES START export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 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 VARIABLES END
执行下面命,使添加的环境变量生效:
source ~/.bashrc
编辑/usr/local/hadoop/etc/hadoop/hadoop-env.sh
执行下面命令,打开该文件的编辑窗口
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到JAVA_HOME变量,修改此变量如下
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-i386
五、测试wordcount
单机模式安装完成,下面通过执行hadoop自带实例WordCount验证是否安装成功
/usr/local/hadoop路径下创建input文件夹
sudo mkdir input
拷贝README.txt到input
cp README.txt input
执行WordCount
bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output
运行如下
执行 cat output/*,查看字符统计结果
结果如下