搭建hadoop集群的常见问题及解决办法

问题一: namenode -format重复初始化

出现问题的原因是重复初始化时会重新生成集群ID,而dn还是原先的集群ID,两者不匹配时无法启动相应的dn进程。
怎么查找问题原因:在logs目录下找到对应节点的.log文件,使用tail -200 文件名来查看日志信息。
解决办法1:修改data/name/路径下的version文件中的集群ID为老的集群ID,事实修改后仍然报错,初始化不只是集群ID不一致,建议使用方法2:。
解决办法2:删除hadoop文件中的data文件和logs文件。

问题二:免密登录配置出错,permission denied没有权限;拒绝访问

重新使用加密算法生成公钥私钥,并将公钥发送给相应的主机。

  1. ssh-keygen -t rsa
  2. ssh-copy-id hadoop10xxx

常用的端口号

rpc内部通信http外部web端口
namenode802050070 / 9870
mapreduce80888088
历史服务器1988819888

集群的时间同步

  • 有网络的情况
    • systemctl start ntpd:开启网络时间同步
    • systemctl status ntpd : 查看开启状态
  • 没有外部网络的情况
    • sudo vim /etc/ntp.conf:设置102作为基准服务器
    • ntpdate hadoop102: 向102发送请求同步时间
    • sudo crontab -e: 设置定时任务

HDFS文件系统

概述

全称为Hadoop distributed file system, 是一个分布式文件系统,通过目录树来定位文件。适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不能改变

  1. 优点:
    • 高容错性:通过增加副本的形式,提高容错性;副本丢失后会自动补全
    • 适合处理大数据:数据规模达到PB级别,文件数量达到9亿个
    • 可以构建在廉价机器上
  2. 缺点:
    • 不适合低延时数据访问,比如毫秒级的存储数据。
    • 无法高效对大量小文件进行存储,小文件存储的寻址时间超过了读取时间
    • 不支持并发写入,文件随机修改。仅支持数据的追加,不支持随机修改

组成架构

在这里插入图片描述

  1. NameNode:主管
    • 管理HDFS的名称空间
    • 配置副本策略
    • 管理数据块映射信息
    • 处理客户端读写请求
  2. DataNode: 工人
  3. Client:客户端
    • 文件切分,上传之前就切分。
      • 如果上传后切分,有可能存不下
      • 上传后切分,有三个备份,需要多切几次。
    • 管理HDFS,如namenode格式化
  4. SecondaryNameNode:辅助NameNode,并非热备。

文件块大小

由磁盘的传输速率决定,由于目前磁盘的传输速率为100M/s,按照程序员的进制进行整数转换为2进制则为128。

根据专家的结论:寻址时间为传输时间的1%时,是最佳状态。

  1. 文件块太小会增加寻址时间
  2. 文件块太大,磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。大于1%这个最佳状态。

hdfs文件操作系统的常用命令

  • hadoop fs 等价于 hdfs dfs
  • 上传文件到hdfs文件系统
    • hadoop fs -copyFromLocal caocao.txt /sanguo : 上传
    • hadoop fs -moveFromLocal liubei.txt /sanguo:上传后删除
    • hadoop fs -put sunquan.txt /sanguo:上传
    • hadop fs appendToFIle sunquan.txt /sanguo/liubei.txt:追加文件内容
  • 从hdfs文件系统下载文件到本地
    • hadoop fs -copyToLocal /sanguo/liubei.txt ./:拷贝下载
    • hadoop fs -get /README.txt ./: 拷贝下载
    • hadoop fs moveToLocal: 剪切到本地,暂时没有实现
  • hadoop fs -ls /sanguo: 查询文件列表
  • hadoop fs -cat /sanguo/caocao.txt: 查看文件内容
  • hadoop fs -chmod 77 /sanguo/caocao.txt: 修改文件权限
  • hadoop fs -du /sanguo: 查询文件夹下的文件的大小
  • hadoop fs -setrep 10 /sanguo/caocao.txt:设置副本数量

HDFS的API操作

IDEA常用快捷键

  1. 双击shift : 搜索框
  2. ctrl + h: 查询当前类的父子关系
  3. ctrl + F12: 查询当前类的所有方法
  4. ctrl+p: 显示方法的形参列表
  5. ctrl+alt+f:快速将局部变量提升为全局变量

配置文件优先级

  1. 代码中的conf.set
  2. resources目录下的xxx-site.xml配置文件
  3. jar包中的xxx-default.xml配置文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/73321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023国赛C题解题思路代码及图表:蔬菜类商品的自动定价与补货决策

2023国赛C题:蔬菜类商品的自动定价与补货决策 C题表面上看上去似乎很简单,实际上23题非常的难,编程难度非常的大,第二题它是一个典型的动态规划加仿真题目,我们首先要计算出销量与销售价格,批发价格之间的…

视频集中存储/直播点播平台EasyDSS点播文件分类功能新升级

视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法&#xf…

与面试相关的redis

这里写自定义目录标题 📝 redis的知识点数据结构及其特性,用途和操作方法持久化高可用分布式锁发布订阅性能优化安全性数据分片缓存策略键过期删除策略内存淘汰策略 🤗 总结归纳📎 参考文章 😀 这里写文章的前言&#…

Android屏幕录制

这里使用Java语言编写实现&#xff0c;完整代码如下&#xff1a; 文件 AndroidMainfest.xml 的主要配置 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"…

第5章:传输层

文章目录 一、传输层概述1.传输层功能2.传输层的寻址与端口1.端口2.端口号3.套接字二、UDP协议1.UDP概述2.UDP首部格式3.UDP校验三、TCP协议1.TCP协议的特点2.TCP报文段的首部格式3.TCP连接管理(1)TCP连接的建立 (三次握手)(2)TCP连接的释放 (四次挥手)4.TCP可靠传输5.TCP流量控…

Halcon不改变目标大小尺寸及坐标,放大图像或区域

如果需要检测一张图像中很细小的物体&#xff0c;计算机可能可以观察到&#xff0c;但人的肉眼很难判别。这时候就需要放大图像中目标所在区域进行观测&#xff0c;放大观察可能会导致图像被放大&#xff0c;目标相对原始图像的坐标大小信息会被改变。如下&#xff0c;分割图中…

CloudCompare 二次开发(13)——点云投影到圆柱

目录 一、概述二、代码集成三、结果展示一、概述 不依赖任何第三方点云相关库,使用CloudCompare编程实现点云投影到指定圆柱,具体计算原理见:PCL 点云投影到圆柱 二、代码集成 1、mainwindow.h文件public中添加: void doActionProjectToCylinder(); // 投影到圆柱2、mai…

rt-thread系列文章目录

rt-thread系列文章目录 本文是rt-thread系列文章目录&#xff0c;后续关于rt-thread的更新都会添加到此文内。 实战篇 rt-thread------生成工程模板 rt-thread------fal移植 内核篇 rt-thread-------内存管理&#xff08;内存堆&#xff09; 设备和驱动篇 C语言面向对象…

单例模式(饿汉式单例 VS 懒汉式单例)

所谓的单例模式就是保证某个类在程序中只有一个对象 一、如何控制只产生一个对象&#xff1f; 1.构造方法私有化&#xff08;保证对象的产生个数&#xff09; 创建类的对象&#xff0c;要通过构造方法产生对象 构造方法若是public权限&#xff0c;对于类的外部&#xff0c;可…

JAR will be empty - no content was marked for inclusion!

现象 在对自建pom依赖组件打包时&#xff0c;出现JAR will be empty - no content was marked for inclusion!错误。 方案 在pom中怎么加packaging标签内容为pom&#xff0c;标识只打包pom文件 <?xml version"1.0" encoding"UTF-8"?> ...<grou…

科技互联网领域,怎样才算突破性创新?

在科技互联网领域&#xff0c;一个突破性的创新应该具备以下特征&#xff1a; 革命性&#xff1a;突破性创新应该能够彻底改变行业或市场&#xff0c;引起根本性的变革。前瞻性&#xff1a;突破性创新应该有前瞻性&#xff0c;能够在未来产生重大影响。这意味着创新应该不仅考…

基于VUE3+Layui从头搭建通用后台管理系统(前端篇)十二:通用详情组件封装实现

一、本章内容 本章实现通用详情组件,自动识别实体配置信息,并自动生成对应组件,填充组件数据,并完成数据自动加载等过程。 1. 详细课程地址: 待发布 2. 源码下载地址: 待发布 二、界面预览 三、开发视频 3.1 B站视频地址࿱

对比学习与simclr详解

对比学习&#xff08;Contrastive Learning&#xff09;是一种机器学习方法&#xff0c;旨在通过比较数据样本之间的相似性和差异性来学习有用的表示&#xff08;特征&#xff09;。其核心思想是通过将相似的样本映射到相邻的位置&#xff0c;将不相似的样本映射到远离的位置&a…

微信小程序——简易复制文本

在微信小程序中&#xff0c;可以使用wx.setClipboardData()方法来实现复制文本内容的功能。以下是一个示例代码&#xff1a; // 点击按钮触发复制事件 copyText: function() {var that this;wx.setClipboardData({data: 要复制的文本内容,success: function(res) {wx.showToa…

ARM指令集

CPU是计算机的中央处理器&#xff0c;负责执行组成计算机程序的指令。为此&#xff0c;CPU必须能够解释机器码即计算机程序的最低级别表示形式&#xff0c;以让CPU可以直接执行。机器码是一系列的二进制指令&#xff0c;每个指令都代表CPU可以执行的特定操作。指令由一系列1和0…

微信小程序onReachBottom事件使用

在微信小程序中&#xff0c;onReachBottom事件用于监听页面滚动到页面底部的时候触发的事件。当用户滑动页面到底部时&#xff0c;可以通过监听该事件来执行相应的操作。 要使用onReachBottom事件&#xff0c;需要在对应的页面或组件中定义一个函数&#xff0c;并在Page或Comp…

vue3 将 HTML 网页内容生成为 PDF 文件

使用 html2pdf.js 实现 npmjs 地址&#xff1a;html2pdf.js github 仓库地址&#xff1a;html2pdf.js 使用 html2pdf.js 的方法非常简单&#xff0c;只需要能获取到要生成 PDF 的 HTML 元素即可 安装 npm i html2pdf.js引入 先在需要使用导出的页面引入 import html2pdf fr…

操作系统 --- 计算机系统引论

&#xff08;一&#xff09;操作系统的目的和作用 概念&#xff08;定义&#xff09; 操作系统 &#xff08; Operating System &#xff0c; OS &#xff09;是指控制和 管理 整个计算机系统的 硬件和软件 资源&#xff0c;并合理地组织调度计算机的工作和资源的分配&#…

数据分析面试题(2023.09.08)

数据分析流程 总体分为四层&#xff1a;需求层、数据层、分析层和结论层 一、统计学问题 1、贝叶斯公式复述并解释应用场景 公式&#xff1a;P(A|B) P(B|A)*P(A) / P(B)应用场景&#xff1a;如搜索query纠错&#xff0c;设A为正确的词&#xff0c;B为输入的词&#xff0c;那…

vue-elementPlus自动按需导入和主题定制

elementPlus自动按需导入 装包 -> 配置 1. 装包&#xff08;主包和两个插件包&#xff09; $ npm install element-plus --save npm install -D unplugin-vue-components unplugin-auto-import 2. 配置 在vite.config.js文件中配置&#xff0c;配置完重启&#xff08;n…