专栏首页维C果糖快速搭建 HDFS 系统(超详细版)

快速搭建 HDFS 系统(超详细版)

文章目录

节点介绍

首先,准备 5 台虚拟机,其中 1 台虚拟机作为NameNode,4 台虚拟机作为DataNode,分别为:

IP

Hosts(主机名)

192.168.56.101

master

192.168.56.102

slave1

192.168.56.103

slave2

192.168.56.104

slave3

192.168.56.105

slave4

在这里,master充当着NameNode的角色,其他的salve充当着DataNode的角色,并且需要修改这 5 台虚拟机上的hosts文件,配置它们的主机名,以便它们可以通过主机名进行互相的访问。

  • 执行命令vim /etc/hosts

配置完成后,使用vim编辑器的:wq保存退出。

开始搭建 HDFS 系统

在前面,我们已经准备好了虚拟机;在此,我们还需要准备两个资源,分别为 Hadoop 和 JDK 安装包,可通过以下链接到官方获取:

当上述两个安装包下载完成之后,可通过 Linux 命令,将两个安装包上传到虚拟机,例如

  • scp -r /Users/bin.guo/Downloads/hadoop-2.7.7.tar.gz root@192.168.56.101:/home/hdfs-cg
  • scp -r /Users/bin.guo/Downloads/jdk-8u201-linux-x64.tar.gz root@192.168.56.101:/home/hdfs-cg

基础环境变量配置

第 1 步:解压 Hadoop 安装包

如上述,使用 Linux 命令tar -zxvf 待解压文件解压 Hadoop 安装包。

第 2 步:配置 Hadoop 的 Java 运行环境

在当前目录解压完成后,进入/hadoop-2.7.3/etc/hadoop目录,这个目录里存放的都是 Hadoop 配置文件,当然,我们需要修改的配置文件也在这个目录中。接下来,编辑hadoop-env.sh文件,配置 Java 环境变量。

  • 执行命令vim hadoop-env.sh

第 3 步:在 Linux 中配置 Hadoop 环境变量

编辑/etc/profile文件,配置 Hadoop 环境变量。

  • 执行命令vim /etc/profile

如上图所示,通过在profile文件中追加export PATH=$PATH:/usr/local/hadoop-2.7.3/bin:/usr/local/hadoop-2.7.3/sbin语句,即可配置 Hadoop 环境变量。在这里,如果我们之前没有在profile中配置过PATH环境变量,则需要先配置PATH的环境变量,例如:

JAVA_HOME=/home/hdfs-cg/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH
export JAVA_HOME
export CLASSPTH

export PATH=$PATH:/home/hdfs-cg/hadoop-2.7.3/bin:/home/hdfs-cg/hadoop-2.7.3/sbin

配置完 Hadoop 的环境变量之后,保存文件,并输入以下命令让profile文件立即生效。

  • 执行命令source /etc/profile

正常情况下,输入source /etc/profile命令不会有任何提示;我们可以输入命令hadoop进行验证,如果出现以下内容,则说明 Hadoop 环境配置成功了。

设置 SSH 免密码登录

由于master机器,也就是192.168.56.101这台机器,其将成为我们 Hadoop 集群的NameNode节点,因此我们配置其可以免密登录集群中其它的slave机器。

  • 执行命令ssh-keygen -t rsa

执行命令后,出现提示可以不予理会,直接按几次回车键就可以了。当出现以下界面时,则说明生成私钥id_rsa和公钥id_rsa.pub成功:

接下来,我们把生成的公钥id发送到slave1slave2slave3slave4这 4 台机器。

  • 执行命令ssh-copy-id slave1

slave1会要求你输入slave1这台机器上的密码:

密码输入正确后,你将会看到以下界面,它说已经添加了密钥,叫你尝试登陆:

现在,我们输入 SSH 命令测试 slave1 的免密登陆。

  • 执行命令ssh slave1

如上图所示,显然我们已经实现了masterslava1的免密登录,其它slave机器同理。

配置 HDFS

在所有机器上的/hadoop-2.7.3/etc/hadoop目录中,修改core-site.xmlhdfs-site.xml文件,以完成 HDFS 的配置。

  • 修改core-site.xml,在configuration标签内加入以下配置:
<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9000</value>
  <description>HDFS 的 URI,文件系统://namenode标识:端口</description>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoopData</value>
  <description>namenode 上传到 hadoop 的临时文件夹</description>
</property>

<property>
    <name>fs.trash.interval</name>
    <value>4320</value>
</property>
</configuration>
  • 修改hdfs-site.xml,在configuration标签内加入以下配置:
<configuration>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>/home/hadoopData/dfs/name</value>
   <description>datanode 上存储 hdfs 名字空间元数据</description>
 </property>
 
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>/home/hadoopData/dfs/data</value>
   <description>datanode 上数据块的物理存储位置</description>
 </property>
 
 <property>
   <name>dfs.replication</name>
   <value>3</value>
   <description>副本个数,默认配置是 3,应小于 datanode 机器数量</description>
 </property>
 
 <property>
   <name>dfs.webhdfs.enabled</name>
   <value>true</value>
 </property>
 
 <property>
   <name>dfs.permissions.superusergroup</name>
   <value>staff</value>
 </property>
 
 <property>
   <name>dfs.permissions.enabled</name>
   <value>false</value>
 </property>
</configuration>

在这里,我们需要创建 Hadoop 存放数据的文件夹,为了与配置文件中的路径匹配,我们将在home目录下,创建名为hadoopData的文件夹。

  • 执行命令mkdir /home/hadoopData

当然,我们可以调整此文件夹的位置,只要保证其与配置文件的路径匹配即可。

配置 NameNode 节点

因为master机器是集群中的NameNode节点,因此我们在master机器上进行操作,也就是192.168.56.101这台主机。在master机器的/hadoop-2.7.3/etc/hadoop目录下,修改slaves文件,加入DataNode节点。特别注意,由于我们之前修改了hosts文件,各虚拟机的 IP 已经与主机名绑定,因此在这里,我们之前配置主机名即可

  • 执行命令vim slaves

其中,slave1slave2slave3slave4都是DataNode节点,我们把它们加入到NameNode节点中,这样我们就可以用一个命令启动整个集群。

格式化 NameNode 以及启动 HDFS 系统

master这台机器上,输入命令 HDFS 格式化命令。

  • 执行命令hdfs namenode -format

格式化完成之后,输入 HDFS 系统启动命令。

  • 执行命令start-dfs.sh

接下来,检查 HDFS 是否启动成功。在游览器中输入http://192.168.56.101:50070/,默认为NameNodeIP + 50070端口,当你见到以下界面的时候,就说明你的集群已经起来了。

最后,再检查一下DataNode节点的启动情况:

如上图所示,我们配置的 4 个DataNode也起来了,这说明整个 HDFS 集群搭建完成啦!


转载声明:本文转自简书「陈_志鹏」的「HDFS系统的搭建(整理详细版)」这篇文章。

温馨提示:本文与原文相比有些许改动,但整体流程未变,图片也是直接引用,在此对原作者的分享表示感谢!

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:http://blog.csdn.net/qq_35246620复制
如有侵权,请联系 yunjia_community@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 详述 Elasticsearch 安装 HDFS 插件存储快照及还原的方法

    Elasticsearch 支持多种存储库的配置,如 S3、Azure、Google Cloud Storage 和 HDFS 等,具体可参阅「Snapshot...

    CG国斌
  • 迟到的端午节福利之大数据入门

    本章将从几则故事说起,让大家明白大数据是与我们的生活息息相关的,并不是遥不可及的,还会介绍大数据的特性,以及大数据对我们带来的技术变革,大数据处理过程中涉及到的...

    木可大大
  • docker下,极速搭建spark集群(含hdfs集群)

    搭建spark和hdfs的集群环境会消耗一些时间和精力,处于学习和开发阶段的同学关注的是spark应用的开发,他们希望整个环境能快速搭建好,从而尽快投入编码和调...

    程序员欣宸
  • 快速搭建ELK7.5版本的日志分析系统--搭建篇

    ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部

    用户6641876
  • Kubernetes集群搭建超详细总结(CentOS版)

    学习Kubernetes的关键一步就是要学会搭建一套k8s集群。在今天的文章中作者将最近新总结的搭建技巧,无偿分享给大家!废话不多说,直接上干货!

    用户5927304
  • 超详细,Windows系统搭建Flink官方练习环境

    如何快速的投入到Flink的学习当中,很多人在搭建环境过程中浪费了太多的时间。一套一劳永逸的本机Flink开发环境可以让我们快速的投入到Flink的学习中去,将...

    实时计算
  • 图解大数据 | 分布式平台Hadoop与Map-reduce详解

    教程地址:http://www.showmeai.tech/tutorials/84

    ShowMeAI
  • hexo+github搭建博客(超级详细版,精细入微)

    你了解Hexo吗? Hexo是一个静态博客框架,基于Node.js,将Markdown文章通过渲染引擎,生成一个静态网页,再结合Git命令(ssh),Hexo ...

    YangAir
  • 大数据Hadoop快速入门教程

    1、Hadoop生态概况 Hadoop是一个由Apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的...

    CSDN技术头条
  • 酒店IPTV系统快速搭建

    首先来说明下什么是IPTV系统,然后在来介绍酒店IPTV系统解决方案,以及在酒店行业里的一些定制化内容。所谓IPTV系统其实最重要的功能是对于视频的处理,包括两...

    点量小崔
  • 快速搭建MySQL主从系统

    在执行之前最好在slave上,使用master上创建的账户尝试连接master mysql,如果连接正常,则可继续执行,要注意binlog文件名和pos点位必须...

    COY_fenfei
  • 三分钟学会用SpringMVC搭建最小系统(超详细)

    剽悍一小兔
  • Hadoop分布式环境搭建(简单高效~)

    因为在之前的博客在Linux中部署集群(零基础速学!)中,上述的准备操作均已详细描述,这里对于准备工作的内容就不做过多讲解。接下来正式开始进行集群环境的搭建

    不温卜火
  • 大数据集群基本调优总结01

    今天是2021年的4月25日,2015年参加工作,到现在有6年了,前段时间做了个决定,离职休息一段时间,趁着休息把以前学过的,用过的,以及涉及不深的好好学习总结...

    Bob hadoop
  • 图解大数据 | 导论-大数据生态与应用

    教程地址:http://www.showmeai.tech/tutorials/84

    ShowMeAI
  • 一文教你快速了解伪分布式集群搭建(超详细!)

    首先,我们需要知道配置伪分布式集群要修改的配置文件 所有配置文件都在 /opt/module/hadoop-2.7.2/etc/hadoop/内

    不温卜火
  • 大数据面试杀招——Hadoop高频考点,正在刷新你的认知!

    上一篇文章为大家总结了一些关于Hive的热门考点,得到了一些朋友的肯定与转发,菌菌就觉得花时间去做这些知识整合是非常有价值,有意义的一件事。本篇...

    大数据梦想家
  • 快速入门Redis系列(1)——详细介绍及环境搭建

    接下来的几天,博主将开始更Redis系列的博客,希望大家多多支持~本篇博客作为Redis系列第一篇,为大家带来的是Redis介绍及环境安装。

    大数据梦想家
  • 带你快速认识NamenodeHA和Yarn HA,为搭建HadoopHA集群打下基础!

    本篇博客,博主主要为大家介绍的是什么是NamenodeHA 和 Yarn HA。并在下一篇博客中为大家带来关于搭建HadoopHA集群的详细步骤...

    大数据梦想家

扫码关注云+社区

领取腾讯云代金券