Hadoop 伪分布式环境搭建

时间:2022-05-31
本文章向大家介绍Hadoop 伪分布式环境搭建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

简介

Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS 有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

—百度百科

Hadoop HDFS 的起源来自 Google 于 2003 年 10 月发布的一篇 GFS 的论文。

Hadoop MapReduce 的起源来自 Google 于2004 年 12 月发布的一篇 MapReduce 的论文。

因为 Google 当时只是发布了论文,并没有开源,于是就出现了 Hadoop 的 HDFS 和 MapReduce,两者都 是根据 Google 发布的论文制作的克隆版,是免费的,开源的。

环境介绍

本次使用的环境是 :

  • 系统 Ubuntu 14.04 LTS
  • 虚拟机 VirtualBox 5.1.30
  • Hadoop hadoop 2.7.1
  • JAVA JDK 1.8 及以上均可

上述环境均是从所在官网下载。

本次搭建的是 Hadoop 伪分布式环境,即所有本机模拟运行所有节点。

获取 root 权限

为了操作方便,这里直接切换到 root 权限进行操作。 先设置 root 用户的密码:

1

sudo passwd

然后输入一遍当前用户密码,再输入两次 root 用户要设置的密码。

设置完后,切换到 root 用户。

1

su root

然后输入 root 账号的密码即可成功切换。

JDK

下载

到 Java 官网下载 JDK 的 1.8 以上的版本, 下载地址

解压

我下载的文件名为 jdk-8u151-linux-x64.tar.gz,然后解压:

12

cd ~ #切换到 /root 目录下。tar -zxvf jdk-8u151-linux-x64.tar.gz

环境变量

编辑 /etc/profile,在最下面添加以下内容:

12

export JAVA_HOME=/root/jdk1.8.0_151export PATH=$PATH:$JAVA_HOME/bin

修改完后,使用 source ~/.bash_profile 命令使环境变量生效。 JAVA_HOME 为 JDK 的解压后所在的全路径。

SSH

安装

执行 apt-get install openssh-service 来安装 SSH服务。 (如遇到错误,则执行 apt-get install openssh-client=1.6.6p1-2ubuntu1)。

启动

1

/etc/init.d/ssh start

免密登录

  1. 生成秘钥,所有选项直接回车即可。 1ssh-keygen -t rsa
  2. 生成秘钥后会在 ~/ 目录下生成一个 .ssh 的文件夹。进入后配置免登陆 1cp id_rsa.pub authorized_keys

然后使用 ssh localhost 命令即可测试是否配置成功。首次登录会提示是否确认接收链接,确认即可。之后再登录就可以免密直接登录了。

Hadoop

下载

Hadoop官网 下载相应版本或点击下方我提供的链接。

解压

12

cd ~tar -zxvf hadoop-2.7.1.tar.gz

环境变量

/etc/profile 文件的末尾加入以下内容:

12

export HADOOP_HOME=/root/hadoop-2.7.1export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

修改配置文件

HADOOP_HOME 下的 etc/hadoop/ 目录中(全路径:/root/hadoop-2.7.1/etc/hadoop/)。

  • hadoop-env.sh 添加JAVA环境变量1export JAVA_HOME=/root/jdk1.8.0_151
  • core-site.xml 配置默认文件系统地址以及文件存放地址

12345678910

<!--默认文件系统地址--><property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value></property><!--文件存放地址--><property> <name>hadoop.tmp.dir</name> <value>/root/tmp</value></property>

  • hdfs-site.xml 设置文件副本个数

1234

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

HDFS

启动 HDFS

  • 启动 HDFS 之前需要格式化文件系统(进第一次执行即可,不要重复执行,脚本路径在 Hadoop_HOME/bin 下): 1./hdfs namenode -format
  • 启动 HDFS (脚本路径在 Hadoop_HOME/sbin 下) 1./start-dfs.sh
  • 输入 jps 命令验证是否启动成功,如果显示以下进程则说明启动成功,如果发现少了进程,则说明配置文件出了问题,根据启动日志检查下即可。 1 2 3 413888 DataNode 14072 SecondaryNameNode 13803 NameNode 14299 Jps
  • 访问 http://[IP/localhost]:50070/ 可查看网页版信息

停止 HDFS

脚本路径在 HADOOP_HOME/sbin 下:

1

./stop-dfs.sh