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

大数据学习之 Hadoop部署

Hadoop部署

  • Linux桌面模式关闭

    # 设置
    systemctl set-default multi-user.target
    # 重启
    reboot
    
  • 防火墙关闭

    systemctl status firewalld
    systemctl stop firewalld
    # 关闭开机自启
    systemctl disable firewalld
    
  • 配置Java环境

    echo $JAVA_HOME
    java -version
    # Java配置
    # 上传jar包并解压
    tar -zxvf ...jdk.jar
    # 配置环境变量
    vim /etc/profile
    JAVA_HOME=/usr/local/soft/jdk1.8.0_171
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 网络环境

    # 查看IP
    ifconfig
    # 修改网络IP
    vim /etc/sysconfig/network-scripts/ifcfg-ens331 TYPE=Ethernet2 PROXY_METHOD=none3 BROWSER_ONLY=no4 BOOTPROTO=static5 DEFROUTE=yes6 IPV4_FAILURE_FATAL=no7 IPV6INIT=yes8 IPV6_AUTOCONF=yes9 IPV6_DEFROUTE=yes10 IPV6_FAILURE_FATAL=no11 IPV6_ADDR_GEN_MODE=stable-privacy12 NAME=ens3213 UUID=9d8db489-1d03-49dd-9a72-c106b667af6a14 DEVICE=ens3215 ONBOOT=yes16 IPADDR=192.168.44.10017 netmask=255.255.255.018 GATEWAY=192.168.44.2# 关闭网络管理器
    systemctl status NetworkManager
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    
  • 修改主机名称

    vim /etc/hostname
    在当前虚拟机中设置Master
    之后克隆的三个节点需要设置node1 node2
    
  • 克隆另外两台从节点 node1 node2

    选中当前节点 关机 -> 右键 ->管理 -> 克隆 -> 当前状态 -> 创建完整克隆 -> 选择路径修改名称 -> 完成

    注意:选中的路径最好是 SSD 固态 同时磁盘空间三个节点最少保证大于70G

  • 修改克隆主机 一定要修改

    先启动node1节点,配置好之后再启动node2

    1.修改网络

    2.修改主机名

  • 修改IP映射

    当node1 node2 配置完成后,再启动Master 修改IP映射

    vim /etc/hosts
    # 安装自己的IP修改映射关系 
    192.168.44.100 master
    192.168.44.110 node1
    192.168.44.120 node2
    
  • 配置主节点和其他节点之间的免密登录

    免密登录

    ​ 当在Master节点中需要控制node1 和 node2 节点启动相关的一些命令任务

    需要使用 ssh root@ip/hostname ctrl+D:退出

    后续Hadoop启动会切换到从节点启动任务,需要密码非常麻烦,所以需要配置免密登录

    # 在Masetr节点中执行如下命令:
    # > 需要三次回车
    ssh-keygen -t rsa    
    # 将密码复制到 master node1 node2 > 需要输入密码  
    ssh-copy-id master  
    ssh-copy-id node1
    ssh-copy-id node2
    # 验证:ssh node1  ctrl + d 退出登录
    
  • 校验时间是否同步

    使用xshell对当前所有会话同时发送命令 date 查看系统时间 如果时间不同步 ,那么需要配置

    yum install ntp  
    ntpdate time.windows.com
    
  • 正式开始配置Hadoop

    上传Hadoop并解压

    tar -zxvf hadoop-3.1.3.tar.gz
    
  • 配置环境变量

    vim /etc/profile
    HADOOP_HOME=/usr/local/soft/hadoop-3.1.3
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    source /etc/profile
    
  • 修改配置文件

    core-site.xml

    <property><name>fs.defaultFS</name><value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop数据的存储目录 -->
    <property><name>hadoop.tmp.dir</name><value>/usr/local/soft/hadoop-3.1.3/data</value>
    </property>
    

    hdfs-site.xml

    dfs.namenode.http-address master:50070

    该配置项设置网页的访问端口 对于3.x版本的Hadoop其端口为9870

    <!-- 2nn web端访问地址-->
    <property><name>dfs.namenode.secondary.http-address</name><value>master:9868</value>
    </property>
    <property><name>dfs.replication</name><value>1</value>
    </property><property><name>dfs.permissions</name><value>false</value>
    </property>
    

    yarn-site.xml

    <!-- 指定MR走shuffle -->
    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
    </property>
    <!-- 指定ResourceManager的地址-->
    <property><name>yarn.resourcemanager.hostname</name><value>master</value>
    </property>
    <!-- 环境变量的继承 -->
    <property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <!-- yarn容器允许分配的最大最小内存 -->
    <property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>512</value>
    </property>
    <property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>4096</value>
    </property>
    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>4096</value>
    </property>
    <!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
    <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
    </property>
    <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
    </property>
    

    mapred-site.xml

        <property><name>mapreduce.framework.name</name><value>yarn</value></property><property>  <name>mapreduce.jobhistory.address</name>  <value>master:10020</value>  </property>  <property>  <name>mapreduce.jobhistory.webapp.address</name>  <value>master:19888</value>  </property> 
    

    workers

    在该文件中主要是对从节点的名称进行配置

    node1
    node2

    hadoop-env.sh

    Hadoop的执行环境

    # 在最后加入以下配置
    export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
    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
    
  • 分发Hadoop到node1、node2

    scp表示远程复制

    -r 表示复制的为目录

    root@node1 表示用户及IP 由于配置了免密登录所以不需要密码

    :pwd pwd 表示当前所在的目录路径 :需要指定目标位置的路径

    scp -r hadoop-3.1.3 root@node1:`pwd`
    scp -r hadoop-3.1.3 root@node2:`pwd`
    
  • 初始化Hadoop

    # 初始化 
    hdfs namenode -format
    

    只能在Master中执行一次

    # 启动集群
    start-all.sh
    # 停止
    stop-all.sh
    
  • 检查

    • 页面

      HDFS的访问页面 http://IP:9870/

      Yarn的访问页面http://master:8088/

    • 查看进程

      jps(查看所有Java启动的进程)
      # Master节点
      3273 NameNode
      3548 SecondaryNameNode
      3807 ResourceManager# node1节点
      2977 NodeManager
      2862 DataNode# node2节点
      2977 NodeManager
      2862 DataNode
      
  • Hadoop安装或运行过程出现问题

    • 1.查看日志

      在当前安装目录中找到logs 并分析哪个进程宕机,可以查看进程对应的日志文件

    • 2.重新安装

      1.删除所有节点中的data目录

      2.寻找正确的配置文件,进行替换,并将所有节点进行同步

      3.重新格式化

Hadoop存储

在Hadoop中数据存储是由HDFS组件决定的,可以通过9870端口进行访问,在Hadoop2.x版本中端口为50070

相关文章:

大数据学习之 Hadoop部署

Hadoop部署 Linux桌面模式关闭 # 设置 systemctl set-default multi-user.target # 重启 reboot防火墙关闭 systemctl status firewalld systemctl stop firewalld # 关闭开机自启 systemctl disable firewalld配置Java环境 echo $JAVA_HOME java -version # Java配置 # 上传ja…...

xxe漏洞--xml外部实体注入漏洞

1.xxe漏洞介绍 XXE&#xff08;XML External Entity Injection&#xff09;是一种攻击技术&#xff0c;它允许攻击者注入恶意的外部实体到XML文档中。如果应用程序处理XML输入时未正确配置&#xff0c;攻击者可以利用这个漏洞访问受影响系统上的敏感文件、执行远程代码、探测内…...

Nginx反向代理与负载均衡:让网站像海豚一样灵活

引言&#xff1a;"当网站遇上海豚&#xff1a;Nginx让数据流动更流畅&#xff01;"想象一下&#xff0c;你的网站是一片繁忙的海域&#xff0c;而Nginx就像一群聪明的海豚&#xff0c;它们不仅能够迅速地找到最佳的捕食路线&#xff08;反向代理&#xff09;&#xf…...

企业应考虑的优秀云安全措施

作为云客户&#xff0c;企业有责任确保正确使用他们提供的工具来保证数据和应用程序的安全。让德迅云安全来跟大家一起研究一些典型企业应该考虑的优秀云安全措施。 在数据安全和隐私方面&#xff0c;企业是否在努力跟上疫情的发展?企业不是一个人。就像多年以前&#xff0c;C…...

如何将老板的游戏机接入阿里云自建K8S跑大模型(下)- 安装nvidia/gpu-operator支持GPU在容器中共享

文章目录 安装nvidia/gpu-operator支持GPU在容器中共享 安装nvidia/gpu-operator支持GPU在容器中共享 安装 nvidia/gpu-operator遇到两个问题&#xff1a; 由于我们都懂的某个原因&#xff0c;导致某些镜像一直现在不成功。 解决办法&#xff0c;准备一个&#x1fa9c;&#…...

代码随想录-Day16

104. 二叉树的最大深度 方法一&#xff1a;深度优先搜索 class Solution {public int maxDepth(TreeNode root) {if (root null) {return 0;} else {int leftHeight maxDepth(root.left);int rightHeight maxDepth(root.right);return Math.max(leftHeight, rightHeight) …...

31.@Anonymous

1►@Anonymous原理 大家应该已经习惯我的教学套路,很多时候都是先使用,然后讲述原理。 上节课我们使用了注解@Anonymous,然后接口就可以直接被访问到了,不用token!不用token!不用token!。 我们一般知道,注解是给程序看的,给机器看的,当然也是给程序员看的。注解如果…...

oracle 表同一列只取最新一条数据写法

select * from (select t.*,row_number() over(partition by 去重列名 order by 排序列名 desc) as rnfrom 表名)where rn1 1.row_number() over(....): 为每条数据分配一个行号,1.2.3....这样的 2.partition by : 以某列作为分组&#xff0c;每个分组行号从1开始&#xf…...

C语言游戏实战(12):植物大战僵尸(坤版)

植物大战僵尸 前言&#xff1a; 本游戏使用C语言和easyx图形库编写&#xff0c;通过这个项目我们可以深度的掌握C语言的各种语言特性和高级开发技巧&#xff0c;以及锻炼我们独立的项目开发能力&#xff0c; 在开始编写代码之前&#xff0c;我们需要先了解一下游戏的基本规则…...

提权方式及原理汇总

一、Linux提权 1、SUID提权 SUID&#xff08;设置用户ID&#xff09;是赋予文件的一种权限&#xff0c;它会出现在文件拥有者权限的执行位上&#xff0c;具有这种权限的文件会在其执行时&#xff0c;使调用者暂时获得该文件拥有者的权限。 为可执行文件添加suid权限的目的是简…...

【leetcode----二叉树中的最大路径和】

二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root &#xff0c…...

Rust: 编译过程中链接器 `cc` 没有找到

这个错误信息表明在编译过程中链接器 cc 没有找到。cc 通常是 C 编译器的符号链接&#xff0c;它指向系统上的实际 C 编译器&#xff0c;如 gcc 或 clang。这个错误通常意味着你的系统缺少必要的编译工具链。 要解决这个问题&#xff0c;你需要确保你的系统上安装了 C 编译器。…...

【vue-3】动态属性绑定v-bind

1、文本动态绑定&#xff1a; <input type"text" v-bind:value"web.url"> 简写&#xff1a; <input type"text" :value"web.url"> 2、文字样式动态绑定 <b :class"{textColor:web.fontStatus}">vue学…...

Rust:多线程环境下使用 Mutex<T> 还是 Arc<Mutex<T>> ?

在 Rust 中&#xff0c;Mutex 本身不是线程不安全的&#xff1b;它提供了内部的线程同步机制。然而&#xff0c;如果你想在多线程环境中共享同一个 Mutex&#xff0c;你需要确保这个 Mutex 可以被多个线程访问。为此&#xff0c;你通常需要使用 Arc<Mutex<T>>。Arc…...

关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理

前情概要 这个问题其实困扰了我一周时间&#xff0c;一周都在 Google 上旅游&#xff0c;我要如何动态的设置 RestControllerAdvice 里面的 basePackages 以及 baseClasses 的值呢&#xff1f;经过一周的时间寻求无果之后打算决定放弃的我终于找到了一些关键的线索。 当然在此…...

docker三种自定义网络(虚拟网络) overlay实现原理

docker提供了三种自定义网络驱动&#xff1a;bridge、overlay、macvlan。 bridge驱动类似默认的bridge网络模式。 overlay和macvlan是用于创建跨主机网络。 支持自定义网段、网关&#xff0c;docker network create --subnet 172.77.0.0/24 --gateway 172.77.0.1 my_n…...

C#上位机1ms级高精度定时任务

precisiontimer 安装扩展包 添加引用 完整代码 using PrecisionTiming;using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; us…...

盘点28个免费域名申请大全

盘点28个免费域名申请大全 免费域名推荐学习使用&#xff0c;免费就意味着没任何保障。 名称稳定时间支持解析模式后缀格式说明地址EU.org28 年NS.eu.org/. 国家简写.eu.org需要审核&#xff0c;稳定性高&#xff0c;限制少&#xff0c;国内访问有问题&#xff0c;可 CFeu.orgp…...

【vue】封装的天气展示卡片,在线获取天气信息

源码 <template><div class"sen_weather_wrapper"><div class"sen_top_box"><div class"sen_left_box"><div class"sen_top"><div class"sen_city">山东</div><qctc-time cl…...

【MySQL】库的操作和表的操作

库的操作和表的操作 一、库的操作1、创建数据库(create)2、字符集和校验规则&#xff08;1&#xff09;查看系统默认字符集以及校验规则&#xff08;2&#xff09;查看数据库支持的字符集&#xff08;3&#xff09;查看数据库支持的字符集校验规则&#xff08;4&#xff09;校验…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...