单机部署Hadoop
一、系统及版本:CentOS release 6.8 (Final)
hadoop-2.8.1
JDK1.7(安装并配置环境变量)
安装前提:ssh安装
单机模式:运行在一个单独机器上的独立Java进程,适用于开发或调试环境
二、添加用户以及用户组(尽量不适用root用户)
$ sudo adduser hadoop ##创建用户hadoop
$ sudo usermod -G sudo hadoop ##将hadoop用户添加进sudo用户组
三、配置SSH免密登录
$ su -l hadoop ##切换至hadoop用户
$ ssh-keygen -t rsa -P "" ##配置SSH免密登录
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ##将公钥追加到authorized_keys中
$ ssh localhost ##验证
四、Hadoop安装部署
1、下载Hadoop:http://hadoop.apache.org/releases.html
将hadoop复制准备安装的目录进行解压
$ tar -zxvf hadoop-2.7.1.tar.gz
2、配置
配置环境变量
重载生效
source /etc/profile
修改配置文件(单机最简配置)
/hadoop-2.8.1etc/hadoop/hadoop-env.sh
/hadoop-2.8.1etc/hadoop/core-site.xml
/hadoop-2.8.1etc/hadoop/mapred-site.xml
/hadoop-2.8.1etc/hadoop/hdfs-site.xml
配置完毕启动Hadoop
首先格式化NameNode,进入bin目录执行
./hdfs namenode -format格式化成功后,进入sbin目录执行
./start-all.sh
启动成功后,浏览器访问
3、测试(运行hadoop自带例子)
(1)创建数据
查看hdfs目录创建存放被计算文件的目录 /user/root/input,不要创建输入目录
把需要计算的词汇文件拷贝到hadoop input目录
(2)执行Hadoop WordCount (词频统计)
$ ./bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.1-sources.jar org.apache.hadoop.examples.WordCount input output
(3)查看生产的单词统计数据
(4) 获取结算结果到本地
五、问题
1、可能发生异常(不能加载本地库)
util.NativeCodeLoader: Unable to load native-hadoop library for your platform
解决:在/etc/profile与hadoop-env.sh文件加入
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_HOME=安装目录
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"