当前位置: 首页 > news >正文

虚拟机本地搭建Hadoop集群教程

Hadoop概述

狭义下Hadoop是Apache的一套开源软件,用java实现,广义上是围绕Hadoop打造的大数据生态圈

http://hadoop.apache.org

Hadoop核心组件:

  • HDFS(分布式文件存储系统):解决海量数据存储
  • YARN(集群资源管理和任务调度框架):解决资源任务调度
  • MapReduce(分布式计算框架):解决海量数据计算

三个组件在逻辑分离,物理可能不分离,有HDFS集群、YARN集群,但没有MapReduce集群

HDFS集群主角色是NameNode,主角色辅助角色是SecondaryNameNode,从角色是DataNode
YARN集群主角色是ResourceManager,从角色是NodeManager
HDFS和YARN组合在一起形成了Hadoop集群

安装Hadoop集群

  • 集群规划

    主机角色
    node1NN DN RM NM
    node2SNN DN NM
    node3DN NM

安装并配置虚拟机

安装VirtualBox,下载centos镜像包,安装虚拟机,配置密码等,启动三台虚拟机

查看主机ip地址 https://www.cnblogs.com/Kalashnikov/p/16175608.html

虚拟机设置为双网卡:网络地址转换NAT、host only使得虚拟机可联外部网并内部访问

设置虚拟机可ssh连接 https://blog.csdn.net/qq_35760825/article/details/127187154 然后就可以通过xshell连接三台主机

主机名配置

# 将host1的该文件内容改为node1.itcast.cn,其他两台类推
vi /etc/hostname
# 修改主机映射文件
vi /etc/hosts
# 在文件末端添加以下内容
192.168.56.101 node2.itcast.cn node2
192.168.56.102 node1.itcast.cn node1
192.168.56.103 node3.itcast.cn node3

主机间免密登录

# 只需要配置node1至node1、node2、node3即可
  
#node1生成公钥私钥 (一路回车)
ssh-keygen  
  	
#node1配置免密登录到node1 node2 node3
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

安装hadoop

  • 安装jdk
    https://blog.csdn.net/weixin_45853881/article/details/123402891

    将官网下载的压缩包上传到/export/software目录

    解压

     tar -xvf /export/software/jdk-8u241-linux-x64.tar.gz -C /export/server/
    
    #配置环境变量
    vi /etc/profile
    
    export JAVA_HOME=/export/server/jdk1.8.0_241
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
    #重新加载环境变量文件
    source /etc/profile
    
  • 安装hadoop http://t.zoukankan.com/theyang-p-12336391.html

    hadoop官网下载.tar.gz源码包,传到/export/software并解压

    tar -xvf /export/software/hadoop-3.3.4.tar.gz -C /export/server/
    
  • 配置环境变量

    • 修改配置文件(配置文件路径 hadoop-3.3.4/etc/hadoop)

    • hadoop-env.sh

      #文件最后添加
      export JAVA_HOME=/export/server/jdk1.8.0_241
      
      export HDFS_NAMENODE_USER=root
      export HDFS_DATANODE_USER=root
      export HDFS_SECONDARYNAMENODE_USER=root
      export YARN_RESOURCEMANAGER_USER=root
      export YARN_NODEMANAGER_USER=root 
      
    • core-site.xml

      <!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://node1:8020</value>
      </property>
      
      <!-- 设置Hadoop本地保存数据路径 -->
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/export/data/hadoop-3.3.0</value>
      </property>
      
      <!-- 设置HDFS web UI用户身份 -->
      <property>
          <name>hadoop.http.staticuser.user</name>
          <value>root</value>
      </property>
      
      <!-- 整合hive 用户代理设置 -->
      <property>
          <name>hadoop.proxyuser.root.hosts</name>
          <value>*</value>
      </property>
      
      <property>
          <name>hadoop.proxyuser.root.groups</name>
          <value>*</value>
      </property>
      
      <!-- 文件系统垃圾桶保存时间 -->
      <property>
          <name>fs.trash.interval</name>
          <value>1440</value>
      </property>
      
    • hdfs-site.xml

      <!-- 设置SNN进程运行机器位置信息 -->
      <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>node2:9868</value>
      </property>
      
    • mapred-site.xml

      <!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>
      
      <!-- MR程序历史服务地址 -->
      <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node1:10020</value>
      </property>
       
      <!-- MR程序历史服务器web端地址 -->
      <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node1:19888</value>
      </property>
      
      <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
      </property>
      
      <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
      </property>
      
      <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
      </property>
      
    • yarn-site.xml

      <!-- 设置YARN集群主角色运行机器位置 -->
      <property>
      	<name>yarn.resourcemanager.hostname</name>
      	<value>node1</value>
      </property>
      
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      
      <!-- 是否将对容器实施物理内存限制 -->
      <property>
          <name>yarn.nodemanager.pmem-check-enabled</name>
          <value>false</value>
      </property>
      
      <!-- 是否将对容器实施虚拟内存限制。 -->
      <property>
          <name>yarn.nodemanager.vmem-check-enabled</name>
          <value>false</value>
      </property>
      
      <!-- 开启日志聚集 -->
      <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
      </property>
      
      <!-- 设置yarn历史服务器地址 -->
      <property>
          <name>yarn.log.server.url</name>
          <value>http://node1:19888/jobhistory/logs</value>
      </property>
      
      <!-- 历史日志保存的时间 7天 -->
      <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
      </property>
      
    • workers

      node1.itcast.cn
      node2.itcast.cn
      node3.itcast.cn
      
  • 分发同步hadoop安装包

    cd /export/server
    
    scp -r hadoop-3.3.4 root@node2:$PWD
    scp -r hadoop-3.3.4 root@node3:$PWD
    
  • 将修改后的环境变量同步其他机器

    scp /etc/profile root@node2:/etc/
    scp /etc/profile root@node3:/etc/
    # 再分别在三台机器上启用新的配置
    source /etc/profile
    
  • 验证是否成功安装

    #能够成功查看版本说明安装成功
    hadoop version
    

    NameNode format格式化操作

    首次启动HDFS时,必须对其进行格式化操作

    hdfs namenode -format
    
    # 出现2023-01-18 00:39:48,704 INFO common.Storage: Storage directory /export/data/hadoop-3.3.0/dfs/name has been successfully formatted. 这样的字样说明格式化成功
    

    启动集群并查看进程

    # 启动hdfs集群
    start-dfs.sh 
    # 启动yarn集群
    start-yarn.sh
    # jps分别查看一下三台的java进程
    
    • node1
      在这里插入图片描述
    • node2
      在这里插入图片描述
    • node3
      在这里插入图片描述

相关文章:

  • AV网站建设中/郑州网站设计
  • seo服务是什么/兰州网站seo
  • 安卓下载/seo标题优化分析范文
  • 公安平台提交网站备案/域名备案官网
  • 网站设计制作怎样可以快速/东莞优化网站关键词优化
  • 做网站需要购买地域名吗/优化设计三年级下册数学答案
  • 基于A*搜索和深度优先搜索解迷宫问题
  • RPC框架泛调用原理及转转的实践
  • 文档管理系统采用电子签名的优势
  • 单网口ubuntu主机配置virt-manager传统桥接bridge网络
  • 搜索——P5194 [USACO05DEC]Scales S+P5440 【XR-2】奇迹+P1378 油滴扩展
  • VueRouter编程式路由导航
  • 研一寒假C++复习笔记--程序的内存模型
  • CAD软件中如何标注曲线长度?
  • Vue CLI脚手架
  • vue3组件库项目学习笔记(四):发布你的组件
  • 知识图谱与神经网络,神经调节知识网络图
  • Linux常用命令——tr命令