Hadoop2.6.0单机版模式安装
Hadoop2.6.0单机模式安装
##一、Hadoop启动模式
Hadoop集群有三种启动模式:
- 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
- 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行
- 完全分布式模式:真实的生产环境,搭建在完全分布式的集群环境
##二、用户及用户组
需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop。
###1. 添加用户及用户组
创建用户hadoop
$ sudo adduser hadoop
并按照提示输入hadoop用户的密码。
###2. 添加sudo权限
将hadoop用户添加进sudo用户组
$ sudo usermod -G sudo hadoop
##三、安装及配置依赖的软件包
###1. 安装openssh-server、java、rsync等
$ sudo apt-get update
$ sudo apt-get install openssh-server rsync
$ sudo service ssh restart
$ sudo apt-get install openjdk-7-jdk
$ java -version
###2. 配置ssh免密码登录
切换到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
在hadoop用户登录的环境中进行下列操作:
###1. 下载Hadoop 2.6.0
$ wget http://mirrors.aliyuncs.com/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz
###2. 解压并安装
$ tar zxvf hadoop-2.6.0.tar.gz
$ sudo mv hadoop-2.6.0 /usr/local/hadoop
$ sudo chmod 774 /usr/local/hadoop
###3. 配置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/*