Hadoop 环境搭建之准备工作及单机模式

目标

快速安装搭建单机版 Hadoop ,在 HDFS 上运行简单示例程序.

准备

VirtualBox 虚拟机下安装 Ubuntu 系统, 创建 hadoop 用户并授予 sudo 权限, 在Ubuntu 系统内搭建 Java 和 Hadoop 环境, 主要是下载或拷贝文件到 虚拟机内后解压配置环境变量.

配置 Java 和 Hadoop 开发环境

  • 在线安装 Oracle JDK
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  • sudo vim /etc/profile.d/jdk.sh 后输入以下配置后 source /etc/profile.d/jdk.sh 手动生效, 以下类似.
export JAVA_HOME="path/to/JDK"

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$PATH

hadoop 在线下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz​

  • sudo vim /etc/profile.d/hadoop.sh 后输入以下配置信息
export HADOOP_HOME="path/to/hadoop/"

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export CLASSPATH=.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH
  • 进入 Hadoop 文件夹根目录下 的 etc/hadoop/
    分别对 hadoop-env.sh, mapred-env.sh, yarn-env.sh 3个文件进行设置 JAVA_HOME 变量.

配置 SSH 免密登录

  • 实现各主机免密登录 localhost
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
  • 实现各虚拟机互相免密登录
# 拷贝公钥到本地主机
$ scp  ~/.ssh/id_rsa.pub  hadoop@master:/home/liu/.ssh/id_rsa_slave1.pub
$ cat id_rsa_slave1.pub >> authorized_keys
# 或者更加方便的使用 分发密钥命令
$ ssh-copy-id tar_host

测试

  • 环境测试
    java -version
    hadoop
  • 单机模式测试(以下操作默认在Hadoop目录下执行)
$ mkdir input 
$ cp conf/*.xml input 
执行一个匹配指定字符串模式的MR作业: 对 input 目录下的文档进行单词数的统计
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+' 
查看统计结果
$ cat output/*
  • 其他例子
$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 100 100

$ hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar pi 500 500

参考

https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html
http://www.jianshu.com/p/c0f4d30a50b9
https://my.oschina.net/jackieyeah/blog/657032

你可能感兴趣的:(Hadoop 环境搭建之准备工作及单机模式)