本文记录作为一个初学者,在Ubuntu16.04下搭建Hadoop2.7.4并运行示例工程的过程。
1.配置环境
- Ubuntu 16.04
- JDK8 (参见ubuntu16.04 配置JDK1.7 配置7和8基本一样)
2.创建Hadoop用户和组
- sudo addgroup hadoop #创建Hadoop用户组
- sudo adduser -ingroup hadoop hadoop#在组下创建用户Hadoop 回车后会提示输入密码,这是新建Hadoop用户的密码
- sudo vi /etc/sudoers #为Hadoop用户添加权限 在root ALL=(ALL) ALL后添加该行 :(提示:Hadoop后面是制表符tab \t,保存须用wq!)
hadoop ALL=(ALL) ALL
3.配置SSH及免密码登陆
- sudo apt-get install openssh-server #安装ssh server:
- cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
- ssh-keygen -t rsa # 会有提示,都按回车就可以
- cat id_rsa.pub >> authorized_keys # 加入授权
- ssh localhost #试试能否直接登录
3.安装与配置hadoop
3.1下载
- 可以去官网 http://hadoop.apache.org/releases.html
- 也可以去国内某镜像 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/
- 下载文件hadoop-2.7.4.tar.gz。
3.2安装
我们选择将 Hadoop 安装至/usr/local/
- cd 桌面
- sudo tar -zxvf hadoop-2.7.4.tar.gz -C /usr/local#解压文件到想要的安装路径
- cd /usr/local/#进入安装路径
- sudo mv ./hadoop-2.7.4/ ./hadoop # 将文件夹名改为hadoop
- sudo chown -R hadoop:hadoop /usr/local/hadoop # 修改文件权限 保证操作都是Hadoop用户下完成的
3.3配置Hadoop(单机模式)
- sudo vi /etc/profile #修改系统变量,在文件末尾加入Hadoop相关变量
export JAVA_HOME=/usr/lib/jvm/jdk8
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
- source /etc/profile #使文件生效
- hadoop version#测试是否配置成功
- sudo vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh#编辑hadoop环境文件。找到JAVA_HOME 修改为绝对地址
# The java implementation to use.
export JAVA_HOME=/usr/lib/jvm/jdk8
- source /usr/local/hadoop/etc/hadoop/hadoop-env.sh#使文件生效
3.4单机模式运行例程
为了测试Hadoop安装在正确性,我们可以用在带的例子(比如WordCount)进行测试。
- cd /usr/local/hadoop #进入安装目录
- mkdir input #创建测试用的输入文件夹
- cp README.txt input #将README.txt文件作为测试的输入 放进input文件夹
- bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.4-sources.jar org.apache.hadoop.examples.WordCount input output#运行测试(其中hadoop-mapreduce-examples-2.7.4-sources.jar 是我安装的hadoop版本里的示例jar)
- 查看运行结果,如果你看到下图,则说明你的hadoop例程已经运行成功了