专栏首页赵俊的Java专栏Hadoop 伪分布式环境搭建

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ISUX Xcube智能一键生成H5

    腾讯ISUX
  • 【倒计时7天】2018教育部-腾讯公司产学合作协同育人项目申请即将截止!

    腾讯高校合作
  • 不只是软件,在线也可以免费下载百度文库了。

    不管是学生,还是职场员工,下载各种文档几乎是不可避免的,各种XXX.docx,XXX.pptx更是家常便饭,人们最常用的就是百度文库,豆丁文库,道客巴巴这些下载...

    课代表
  • SQL中GROUP BY用法示例

    GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类...

    Awesome_Tang
  • 理工男图解零维到十维空间,烧脑已过度,受不了啦!

    让我们从一个点开始,和我们几何意义上的点一样,它没有大小、没有维度。它只是被想象出来的、作为标志一个位置的点。它什么也没有,空间、时间通通不存在,这就是零维度。

    钱塘数据
  • 考研英语-1-导学

    英二图表作文要重视。总体而言,英语一会比英语二难点。不过就写作而言,英语二会比英语一有难度,毕竟图表作文并不好写。

    用户1335799
  • 中国互联网协会发布:《2018中国互联网发展报告》

    在2018中国互联网大会闭幕论坛上,中国互联网协会正式发布《中国互联网发展报告2018》(以下简称《报告》)。《中国互联网发展报告》是由中国互联网协会与中国互联...

    钱塘数据
  • 【系统设置】CentOS 修改机器名

    ken.io
  • 复杂业务下向Mysql导入30万条数据代码优化的踩坑记录

    从毕业到现在第一次接触到超过30万条数据导入MySQL的场景(有点low),就是在顺丰公司接入我司EMM产品时需要将AD中的员工数据导入MySQL中,因此楼主负...

    haifeiWu
  • 知识体系解决迷茫的你

    最近在星球里群里都有小伙伴说道自己对未来的路比较迷茫,一旦闲下来就不知道自己改干啥,今天我这篇文章就是让你觉得一天给你 25 个小时你都不够用,觉得睡觉都是浪费...

    桃翁

扫码关注云+社区

领取腾讯云代金券