Hadoop环境配置

实验环境

  • Ubuntu-16.04 64-bit
  • Java Version 8 Update 91
  • Apache Hadoop 2.7.2

Java安装

  1. 下载Java
  2. 解压并移动到/opt/目录下,建立软链接:
$ tar -zxvf jdk-8u91-linux-x64.tar.gz
$ sudo mv jdk1.8.0_91 /opt/
$ sudo ln -s /opt/jdk1.8.0_91 /opt/jdk

3.配置环境变量,编辑sudo vim /etc/profile.d/jdk.sh文件,内容如下:

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

4.运行source /etc/profille命令,使配置文件生效。
5.运行java,测试Java环境。

Hadoop安装

1.下载Hadoop
2.解压并移动到/opt/目录下,建立到软链接:

$ tar -zxvf hadoop-2.7.2.tar.gz
$ sudo mv hadoop-2.7.2 /opt/
$ sudo ln -s /opt/hadoop-2.7.2 /opt/hadoop

3.配置环境变量,编辑sudo vim /etc/profile.d/hadoop.sh文件,内容如下:

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

4.运行source /etc/profile命令,使配置文件生效。
5.配置Hadoop中Java JDK路径,编辑/opt/hadoop/ect/hadoop/hadoop-env.sh,修改

export JAVA_HOME=${JAVA_HOME}

export JAVA_HOME=/opt/jdk

6.运行hadoop,测试Hadoop配置是否成功。

备注:软链接的使用主要是为了方便在不同的版本之间进行切换。

Hadoop运行模式

Hadoop支持三种运行模式:单机模式,伪分布模式以及分布式模式

单机模式

默认情况下,Hadoop采用单个Java进行以单机模式运行。这在调试时非常有用。
下面的展示了单机模式的运行。

$ mkdir input
$ cp /opt/hadoop/etc/hadoop/*.xml input
$ hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
$ cat output/*

伪分布式模式

Hadoop同样可以在单个主机上采用隔离的Java进程来模拟Hadoop守护进行,从而实现伪分布式模式。

基本配置

配置/opt/hadoop/etc/hadoop/core-site.xml:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

配置/opt/hadoop/etc/hadoop/hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

ssh免密码登录

检测ssh连接到本地是否需要输入密码:

$ ssh localhost

如果需要输入密码,则配置免密码登录:

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

备注:官方文档给出的密钥类型为dsa,Ubuntu-16.04测试不行,因此采用rsa类型密钥。

执行

本地执行MapReduce工作。

1.格式化文件系统:

$ hdfs namenode -format

2.启动NameNode进程和DataNode进程:

$ start-dfs.sh

Hadoop守护进程日志默认输出到$HADOOP_LOG_DIR目录下($HADOOP_HOME/logs)。
3.通过Web接口查看NameNode;默认是:http://localhost:50070/
4.创建用于执行MapReduce工作的HDFS目录:

$ hdfs dfs -mkdir input

5.拷贝文件到分布式文件系统中:

$ hdfs dfs -put /opt/hadoop/etc/hadoop input

6.运行已提供的示例程序:

$ hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

7.从分布式文件系统中导出输出文件到本地文件系统,并查看结果:

$ hdfs dfs -get output output
$ cat output/*

或者,也可以直接在分布式文件系统中查看结果:

$ hdfs -dfs -cat output/*

8.关闭守护进程:

$ stop-dfs.sh
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值