初识Hadoop的三种安装模式「终于解决」

初识Hadoop的三种安装模式「终于解决」特点:高可靠性(不怕丢)、高效性(处理速度快)、高容错性 ps:使用Hadoop版本: 接下来所用到的Hadoop2.8.5,虽然目前Hadoop已经更新到3.x了;但是我们始终秉持一个观点“用旧不用

初识Hadoop的三种安装模式

特点:高可靠性(不怕丢)、高效性(处理速度快)、高容错性

  • ps:使用Hadoop版本:

接下来所用到的Hadoop2.8.5,虽然目前Hadoop已经更新到3.x了;但是我们始终秉持一个观点“用旧不用新”,因为毕竟旧版本较为稳定(目前虽然jdk出到版本为16了,但是我们还是会使用jdk8和jdk11),包括后期使用的各项Hive、Hbase等都需要与hadoop版本相对应,很难去找此类资源;当然如果到公司以后,公司也会给你提供好相应版本的,直接用就可以。

Hadoop

HDFS:分布式文件系统—需要安装

MapReduce:分布式离线计算框架—-不需要安装—-逻辑概念—–需要编码实现

Yarn:分布式资源调度系统—-需要安装

安装方式:

  • 本地模式
  • 伪分布式模式—一台电脑
  • 完全分布式

1.本地模式配置

(本模式下:hdfs和yarn组件无法使用,只能使用mapreduce—–一般只用来测试mapreduce)

一般会将目录设置为(/opt目录一般存放第三方软件)—app下放安装的软件,software下放第三方软件的压缩包

image-20210727125043807

  • 解压hadoop压缩包至/opt/app目录下

img

  • vim /etc/profile来更改系统环境变量(配置Hadoop的环境变量:目的是为了能够在任何目录下都能使用hadoop命令)

    export HADOOP_HOME=/opt/app/hadoop-2.8.5
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
  • source /etc/profile
    hadoop version
    

    image-20210727130049405

2.伪分布式模式

(本模式下:hadoop的组件hdfs和yarn都在一台机器上,需要去修改配置文件)

前言:一个巨大的文件需要进行存储,单台计算机肯定是不能存储这个文件的,因此我们可以将这个文件切割成几个部分,分别放到不同计算机上。但是这时出现了一个问题:三台机器上存储的文件互相没有联系,大文件怎么能下载呢? 此时可以在每个电脑上安装HDFS进行 “关系定义”,接下来讨论下这个关键性技术HDFS

主从模式–分布式软件:一个主节点,多个从节点

  • 熟悉概念

    • HDFS{

      ​ NameNode:存储元数据{领导,知道数据放到哪里}

      ​ DataNode:存储数据(员工)

      ​ SecondaryNameNode:(秘书)

      }

    • Yarn{
      ​ ResourceManager (相当于NameNode:领导)

      ​ NodeManager (相当于DataNode:员工)

      }

  • 配置项

    image-20210727144804823

(.sh文件进行与java相连的jdk配置:配置JAVA_HOME=/opt/app/jdk1.8)

(.xml文件进行相应配置:core(common公共的)、hdfs、mapred、yarn)

1.core-site.xml
<!--指定Hadoop运行时产生临时文件的存储目录-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/app/hadoop-2.8.5/temp</value>
</property>
2.hdfs-site.xml
<!--指定HDFS中namenode的地址-->
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.0.20:9000</value>
</property>
<!--指定HDFS中副本的数量-->
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
3.mapred-site.xml
<!--通过yarn去运行-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
4.yarn-site.xml

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>

<!--指定Yarn的ResourceManager地址-->
<property>
  <name>yarn.resourcemanager.hostname</name>
  <value>192.168.0.20</value>
</property>
  • 格式化NameNode

    (相当于创建core-site.xml中声明的temp目录)

    {只能格式化1次,如果非要格式化的话,那么可以将产生的temp文件删除}

hadoop namenode -format
  • 开启hdfs服务和yarn服务

    start-dfs.sh
    start-yarn.sh
    
  • 访问验证

    namenode访问网址{http://ip:50070}
    yarn的访问网址{http://ip:8088}
    

    image-20210727155107899

    image-20210727154950966

  • 补充

    通过此种方式,你会发现在启动各个节点时需要反复输入密码,不想要这样的话,就寻找解决方式:

    配置SSH免密钥登录

    1.生成密钥

    cd ~/.ssh
    ssh-keygen -t rsa
    

    image-20210727162643922

    2.把密码给别人

    ssh-copy-id 192.168.0.20
    

    image-20210727162918257

3.完全分布式

(最少有3台节点组成的集群)—-一般在生产部署时使用

1.需要准备3台虚拟机:通过克隆(创建完整克隆)方式创建

image-20210727173527054

2.配置3台虚拟机的静态网络

192.168.0.20 、192.168.0.21、192.168.0.22

3.配置3台虚拟机的免密登录

—过程与伪分布式中所谈到的免密登录一致

(成功界面)

image-20210727220159195

4.同步时间

  • 安装ntp

    yum install -y ntp
    vim /etc/ntp.conf
    

    image-20210727222237091

此处第一个圆圈内,我的网段应该为192.168.0.0

image-20210727222538832

(以上两张图片为需要在ntp.conf中修改和添加的)

  • 修改/etc/sysconfig/ntpd

    添加代码
    SYNC_HWCLOCK=yes
    
  • 添加成开机启动

    systemctl enable ntpd
    

然后在node2和node3上配置定时任务

crontab -e
*/1 * * * * /usr/sbin/ntpdate 192.168.0.20
每隔1分钟,同步node1主服务器上的时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5995.html

(0)
上一篇 2023-04-19 16:00
下一篇 2023-04-19 17:00

相关推荐

  • 利用Python绘制折线图展示数据趋势

    利用Python绘制折线图展示数据趋势在现代社会中,数据分析已成为企业决策、市场营销、医学研究等各个领域中不可或缺的一环。数据可视化是数据分析的一项重要工作,它可以将数据转换为直观易懂的图表,帮助人们更好地理解数据。折线图是一种常用的数据可视化方式,它可以将数据的趋势一目了然地呈现出来。Python是一门功能强大且易学易用的编程语言,拥有丰富的数据处理和图表绘制库,如matplotlib、seaborn等。在本文中,我们将介绍如何使用Python绘制折线图展示数据趋势。

    2024-09-22
    12
  • 使用Python tkinter实现输入框

    使用Python tkinter实现输入框Tkinter是Python自带的GUI库,它是Tk GUI工具箱的Python接口,是Python编程语言的标准GUI库之一,具有跨平台性。Tkinter库用于Python图形用户界面编程,支持Windows、Linux、Mac OS X等操作系统。

    2024-03-02
    91
  • Python自学网站免费列表

    Python自学网站免费列表Python在近几年已经成为了非常热门的编程语言,而且随着人工智能、数据分析等领域的发展,Python的地位越来越重要。

    2024-06-18
    46
  • flink time and watermark「建议收藏」

    flink time and watermark「建议收藏」watermark

    2022-12-28
    134
  • 关于thks的介绍

    关于thks的介绍随着互联网的快速发展,越来越多的企业和组织开始关注数据处理和分析领域,strongthks/strong作为一家专业的大数据处理和分析公司,为客户提供高效、准确、全面的数据解决方案,为企业和组织的发展提供有力支持。

    2024-06-21
    41
  • 常见的python网络应用(python基础及应用)

    常见的python网络应用(python基础及应用)现在互联网发展迅速,众多行业巨头,都已经转投到人工智能领域,而人工智能的首选编程语言就是python,所以学好Python能够从事的工作还是很多的,而且前景非常不错。

    2023-11-19
    134
  • 使用JavaScript生成时间戳

    使用JavaScript生成时间戳时间戳是指当前时间与1970年1月1日之间的毫秒数。JavaScript中通过Date对象的getTime()方法获得当前时刻时间的毫秒表示。

    2024-07-21
    32
  • Python实现判断素数的方法

    Python实现判断素数的方法素数是指除了1和它本身以外,没有其他因数的自然数。判断素数在数学中具有重要的意义,而在计算机应用中也常常用到。在本篇文章中,我们将介绍如何使用Python语言实现判断素数的方法。

    2024-08-05
    34

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注