大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!

2024-06-19 14:04

本文主要是介绍大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Hadoop完全分布式搭建学习指南

Hadoop版本:Hadoop2.X
JDK版本:JDK1.8

一、准备工作

  1. 设置主机名和IP

    在三台CentOS 7.4机器上分别设置主机名和IP:

    • node1: 192.168.14.10
    • node2: 192.168.14.20
    • node3: 192.168.14.30

    修改主机名(以node1为例):

    hostnamectl set-hostname node1
    

    配置网络(依据具体网络环境和系统不同,配置方法可能有所不同)。

  2. 配置hosts文件

    在三台机器上的/etc/hosts文件中都添加以下内容,以便机器之间能通过主机名互相访问:

    192.168.14.10 node1
    192.168.14.20 node2
    192.168.14.30 node3
    
  3. 关闭防火墙和SELinux

    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0
    
  4. 配置SSH免密登录

    在node1上生成SSH密钥对,并将公钥分发到其他两个节点,实现免密登录(node2和node3上也需进行类似操作,以便日后维护)。

    ssh-keygen
    ssh-copy-id node1
    ssh-copy-id node2
    ssh-copy-id node3
    

二、安装Java环境

  1. 下载并解压JDK

    下载JDK压缩包到/opt,然后解压。

    cd /opt
    tar -zxvf jdk-xxx-linux-x64.tar.gz
    
  2. 配置环境变量

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

    export JAVA_HOME=/opt/jdk1.8.0_xxx
    export PATH=$PATH:$JAVA_HOME/bin
    

    使环境变量生效:

    source /etc/profile
    

三、安装Hadoop

  1. 下载并解压Hadoop

    从Apache官网下载Hadoop压缩包到/opt,然后解压。

    cd /opt
    tar -zxvf hadoop-x.x.x.tar.gz
    
  2. 配置Hadoop环境变量

    编辑/etc/profile,添加:

    export HADOOP_HOME=/opt/hadoop-x.x.x
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    使环境变量生效:

    source /etc/profile
    
  3. 配置Hadoop

    需要配置的文件主要有hadoop-env.shcore-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlslaves

    • hadoop-env.sh:设置Java环境。

      export JAVA_HOME=/opt/jdk1.8.0_xxx
      
    • core-site.xml:配置HDFS的地址。

      <configuration><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-x.x.x/tmp</value></property>
      </configuration>
      
    • hdfs-site.xml:配置HDFS的副本数等参数。

      <configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop-x.x.x/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop-x.x.x/hdfs/datanode</value></property>
      </configuration>
      
      • yarn-site.xml:配置YARN的资源管理器等参数。

        <configuration><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
        </configuration>
      • mapred-site.xml(如果不存在,可复制mapred-site.xml.template并重命名为mapred-site.xml):配置MapReduce的运行框架为YARN。

        <configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
        </configuration>
        
      • slaves:配置DataNode所在的节点。

        node1
        node2
        node3
        
  4. 分发Hadoop到其他节点

    使用scp命令将配置好的Hadoop目录分发到其他两个节点。

    scp -r /opt/hadoop-x.x.x node2:/opt/
    scp -r /opt/hadoop-x.x.x node3:/opt/
    
  5. 格式化HDFS

    在node1上执行以下命令来格式化HDFS。

    hdfs namenode -format
    
  6. 启动Hadoop

    在node1上启动Hadoop集群。

    start-dfs.sh
    start-yarn.sh
    
  7. 验证Hadoop是否启动成功

    通过Web界面访问http://node1:50070/来查看HDFS的状态,访问http://node1:8088/来查看YARN的状态。同时,也可以通过jps命令在各个节点上查看运行的Hadoop进程。

以下是将Hadoop完全分布式配置下各节点的进程以表格形式展现的示例:

节点进程
node1NameNode
SecondaryNameNode
ResourceManager
DataNode
NodeManager
node2DataNode
NodeManager
node3DataNode
NodeManager

各文件详细配置内容

core-site.xml

<configuration><!-- 指定Hadoop集群中的默认文件系统为HDFS --><property><name>fs.defaultFS</name><value>hdfs://node1:9000</value></property><!-- 配置Hadoop临时目录,用于存放MapReduce作业执行过程中的中间数据 --><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-x.x.x/tmp</value></property>
</configuration>

hdfs-site.xml

<configuration><!-- 指定NameNode的存储路径,即NameNode元数据的存放位置 --><property><name>dfs.namenode.name.dir</name><value>/opt/hadoop-x.x.x/hdfs/namenode</value></property><!-- 指定DataNode的存储路径,即实际数据存储的位置 --><property><name>dfs.datanode.data.dir</name><value>/opt/hadoop-x.x.x/hdfs/datanode</value></property><!-- 配置HDFS的副本数,即每个数据块会被复制多少份,通常设置为3 --><property><name>dfs.replication</name><value>3</value></property>
</configuration>

yarn-site.xml

<configuration><!-- 指定ResourceManager的地址,YARN作业提交到这里进行资源分配和调度 --><property><name>yarn.resourcemanager.hostname</name><value>node1</value></property><!-- 配置NodeManager提供的辅助服务,mapreduce_shuffle是MapReduce作业必须的服务 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- (可选)配置ResourceManager的Web界面地址和端口 --><property><name>yarn.resourcemanager.webapp.address</name><value>node1:8088</value></property>
</configuration>

mapred-site.xml

<configuration><!-- 指定MapReduce作业的运行框架为YARN --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

slaves

# 指定DataNode所在的节点,每行一个节点名
node1 //结点1
node2 //结点2
node3 //结点3

这篇关于大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075227

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。