Commands Of Hadoop
序言
持续整理下常用的命令cuiyaonan2000@163.com
Command
文件拷贝
当从多个源拷贝时,如果两个源冲突,distcp会停止拷贝并提示出错信息,.
如果在目的位置发生冲突,会根据选项设置解决。
默认情况会跳过已经存在的目标文件(比如不用源文件做替换操作)。
每次操作结束时 都会报告跳过的文件数目,但是如果某些拷贝操作失败了,但在之后的尝试成功了, 那么报告的信息可能不够精确。
#这条命令会把master集群的/foo/bar目录下的所有文件或目录名展开并存储到一个临时文件中,这些文件内容的#拷贝工作被分配给多个map任务, 然后每个TaskTracker分别执行从master1到master2的拷贝操作。注意#distcp使用绝对路径进行操作。hadoop distcp hdfs://master1:8020/foo/bar hdfs://master2:8020/bar/foo#命令行中可以指定多个源目录,但是只能有1个目标地址
hadoop distcp hdfs://master1:8020/foo/a hdfs://master1:8020/foo/b hdfs://master2:8020/bar/foo#-f的作用就是从srclist 这个文件中读取多个数据源地址,复制到目标地址
#比如srclist 的内容是
#hdfs://master1:8020/foo/a
#hdfs://master1:8020/foo/b
hadoop distcp -f hdfs://master1:8020/srclist hdfs://master2:8020/bar/foo
| 标识 | 描述 | 备注 |
|---|---|---|
| -p[rbugp] | Preserve r: replication number b: block size u: user g: group p: permission | 修改次数不会被保留。并且当指定 -update 时,更新的状态不会 被同步,除非文件大小不同(比如文件被重新创建)。 |
| -i | 忽略失败 | 就像在 附录中提到的,这个选项会比默认情况提供关于拷贝的更精确的统计, 同时它还将保留失败拷贝操作的日志,这些日志信息可以用于调试。最后,如果一个map失败了,但并没完成所有分块任务的尝试,这不会导致整个作业的失败。 |
| -log <logdir> | 记录日志到 <logdir> | DistCp为每个文件的每次尝试拷贝操作都记录日志,并把日志作为map的输出。 如果一个map失败了,当重新执行时这个日志不会被保留。 |
| -m <num_maps> | 同时拷贝的最大数目 | 指定了拷贝数据时map的数目。请注意并不是map数越多吞吐量越大。 |
| -overwrite | 覆盖目标 | 如果一个map失败并且没有使用-i选项,不仅仅那些拷贝失败的文件,这个分块任务中的所有文件都会被重新拷贝。 就像下面提到的,它会改变生成目标路径的语义,所以 用户要小心使用这个选项。 |
| -update | 如果源和目标的大小不一样则进行覆盖 | 像之前提到的,这不是"同步"操作。 执行覆盖的唯一标准是源文件和目标文件大小是否相同;如果不同,则源文件替换目标文件。 像 下面提到的,它也改变生成目标路径的语义, 用户使用要小心。 |
| -f <urilist_uri> | 使用<urilist_uri> 作为源文件列表 | 这等价于把所有文件名列在命令行中。 urilist_uri 列表应该是完整合法的URI。 |
Hbase hbck
hbck工具可以检测hbase集群的region一致性和完整性,同时可以修复损坏的集群数据
工作模式两种:一致性检测只读模式,和多阶段修复模式
集群的一致性状态修复
- region一致性: 集群中所有region都被assign,且region在Master内存、ZK和hbase:meta表三个地方一致
- 表完整性: 集群中的任意一张表,每个rowkey都仅能存在于一个region区间中
#test 是表名
hbase hbck -fixMeta -fixAssignments test
命令
hbase hbck
一般集群规模较大尽量不要直接执行,最好是对表进行扫描,直接在命令后加表名即可,多个表直接空格隔开
返回结果为Status: INCONSISTENT 或者Status: OK ;
如果region在move、split、merger时,执行命令是会显示有问题的,所以最好多次执行看
常用参数
- -details 可以输出更详细的信息
- -summary 只打印表和状态的的概要信息
- -metaonly 只检查hbase:meta表的状态
- -fixAssignments 用来修复region的分配,assign问题,如果有region没有assign或者同时assign到多台RS上等问题
- -fixMeta 用来修复元数据,即HDFS上和元数据表中记录不一致问题,原则上是认为HDFS是正确的,即如果HDFS中有这个region,元数据表中没有,就在元数据表中添加,如果元数据表多了,就删除
- -noHdfsChecking 不从hdfs上检查region信息,即假设meta表示正确的
- -fixHdfsHoles 修复hdfs中的region黑洞,一般会和-fixAssignments -fixMeta参数一起用,或者使用
- -repairHoles参数等同于 这三个参数同时使用
- -fixRITAssignment 修复长RIT region
- -repair 如果不知道用什么参数的话,就用这个参数,包含了常用的修复参数,也包含个高危操作
SNAPSHOT快照迁移
总体思路:
1、启用快照配置
2、原集群执行快照,然后执行ExportSnapshot 导出到老集群。注意权限问题。
3、导出后,修改对应的权限,然后执行恢复即可
注意点:
1、注意文件目录权限
2、注意配置各自的hostname和IP映射
3、注意压缩库是否都配置了
设置支持压缩
在hbase-env.sh中添加如下属性:
export JAVA_LIBRARY_PATH=/usr/lib/hadoop/lib/native/Linux-amd64-64:/usr/lib/hadoop/lib/native
启用快照
hbase-site.xml中添加 hbase.snapshot.enabled为true
生成快照
生成的快照默认在hbase目录的.hbase-snapshot文件加下cuiyaonan2000@163.com
su - hbasehbase>create 'test_tmp_2017', {NAME => 'F', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW',COMPRESSION => 'SNAPPY'}hbase>flush ’test_tmp_2017'hbase>snapshot ’test_tmp_2017', ’test_tmp_2017_sp'hbase>list_snapshotshbase>delete_snapshot ’test_tmp_2017_sp'
修改新集群快照目录权限(hdfs用户执行)
su - hdfs
hdfs dfs -chmod -R 777 /apps/hbase/data/.hbase-snapshot ;
hdfs dfs -chmod -R 777 /apps/hbase/data/archive ;
相关文章:
Commands Of Hadoop
序言 持续整理下常用的命令cuiyaonan2000163.com Command 文件拷贝 当从多个源拷贝时,如果两个源冲突,distcp会停止拷贝并提示出错信息,. 如果在目的位置发生冲突,会根据选项设置解决。 默认情况会跳过已经存在的目标文件&am…...
SQL-每日一题【620.有趣的电影】
题目 某城市开了一家新的电影院,吸引了很多人过来看电影。该电影院特别注意用户体验,专门有个 LED显示板做电影推荐,上面公布着影评和相关电影描述。 作为该电影院的信息部主管,您需要编写一个 SQL查询,找出所有影片…...
linux 精华总结
...
Eureka 学习笔记2:客户端 DiscoveryClient
版本 awsVersion ‘1.11.277’ DiscoveryClient # cacheRefreshTask // 配置shouldFetchRegistry if (clientConfig.shouldFetchRegistry()) {// 配置client.refresh.intervalint registryFetchIntervalSeconds clientConfig.getRegistryFetchIntervalSeconds();// 配置expB…...
okhttp原理分析
工程目录图 请点击下面工程名称,跳转到代码的仓库页面,将工程 下载下来 Demo Code 里有详细的注释 01okhttp module里 包含的设计模式:建造者设计模式、责任链设计模式 CustomInject 演示自定义注解 代码:okhttp原理分析、Andro…...
freeswitch的mod_xml_curl模块
概述 freeswitch是一款简单好用的VOIP开源软交换平台。 随着fs服务的增多,每一台fs都需要在后台单独配置,耗时耗力,心力憔悴。 如果有一个集中管理配置的配置中心,统一管理所有fs的配置,并可以实现动态的修改配置就…...
高速数据采集专家-FMC140【产品手册】
FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道(5.2GSPS/通道)、单通道10.4GSPS、射频采样ADC模块,该板卡为FMC标准,符合VITA57.1规范,该模块可以作为一个理想的IO单元耦合至FPGA前端,8通道的JESD204…...
【SSM】知识集锦
项目一:狂神JAVA 功能1:实现全部书籍查询 1.思路:首页index.jsp ——>Controller——>hello.jsp 2.步骤: step1:index.jsp <% page language"java" contentType"text/html; charsetUTF-8" page…...
Flowable-中间事件-信号中间抛出事件
定义 当流程执行到达信号抛出事件时,流程引擎会直接抛出信号,其他引用了与其相同的信号捕获 事件会被触发,信号发出后事件结束,流程沿后继路线继续执行。其抛出的信号可以被信号开始事 件(Signal Start Event…...
【算法基础:动态规划】5.3 计数类DP(整数拆分、分拆数)
文章目录 例题:900. 整数划分解法1——完全背包解法2——分拆数⭐⭐⭐ 例题:900. 整数划分 https://www.acwing.com/problem/content/902/ 解法1——完全背包 容量是 n,物品的大小和价值是 1 ~ n 中的所有数字。 import java.util.*;pub…...
封装(Encapsulation)
目录 概念 好处 数据隐藏 模块化设计 代码复用 简化接口 示例 意义 概念 封装(Encapsulation)是面向对象编程的一个核心概念,它指的是将数据和相关操作封装在一个对象中,隐藏了实现的细节。(就是实现数据封装和…...
php 原型模式
一,原型模式,就是先创建好一个原型对象,然后通过拷贝原型对象来生成新的对象。适用于大对象的创建,因为每次new一个大对象会有很大的开销,原型模式仅需内存拷贝即可。 原型模式中的主要角色: 1,…...
LiveGBS流媒体平台GB/T28181功能-支持轮巡播放分屏轮巡值守播放监控视频轮播大屏轮询播放
LiveGBS支持轮巡播放分屏轮巡值守播放监控视频轮播大屏轮询播放 1、背景2、分屏展示3、选择轮播通道4、配置轮播间隔(秒)5、点击开始轮播6、轮播停止及全屏7、搭建GB28181视频直播平台 1、背景 视频监控项目使用过程中,有时需要大屏值守,值守的时候多分…...
6、Nginx实现反向代理
Nginx 反向代理是一种常见的应用场景,它允许 Nginx 作为中间服务器接收客户端的请求,并代理转发这些请求到后端的真实服务器。这种配置使得客户端只需要与 Nginx 交互,而后端服务器对客户端是透明的。 ngx_http_proxy_module: 将客…...
Leetcode——404 左叶子之和
404. 左叶子之和 难度简单(虽然简单 但是我用递归做时 还是有点坑的) 给定二叉树的根节点 root ,返回所有左叶子之和。 示例 1: 输入: root [3,9,20,null,null,15,7] 输出: 24 解释: 在这个二叉树中,有两个左叶子…...
R并行计算-parallel例子1
前言: 通常,如果进程运行时间超过3分钟,则会考虑使用并行处理。 这听起来可能很复杂,但是并行计算很简单。 当你有一个重复的任务,它占用了你太多宝贵的时间,为什么不使用并行计算来节省时间呢ÿ…...
JavaSE复盘2
Collection接口的接口对象集合(单列集合) List接口:元素按照先后有序保存,可重复 LinkList接口实现类,链表,随机访问,没有同步,线程不安全ArrayList接口实现类,数组&…...
如何在3ds max中创建可用于真人场景的巨型机器人:第 3 部分
推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建腿部装备 步骤 1 打开 3ds Max。 打开在本教程最后一部分中保存的文件。 打开 3ds Max 步骤 2 转到创建> 系统并单击骨骼。 创建>系统 步骤 3 为的 侧视口中的腿,如下图所示…...
Android性能优化之游戏引擎初始化ANR
近期,着手对bugly上的anr 处理,记录下优化的方向。 借用网上的一张图: 这里的anr 问题是属于主线程的call 耗时操作。需要使用trace 来获取发生anr前一些列的耗时方法调用时间,再次梳理业务,才可能解决。 问题1 ja…...
Jmap-JVM(十六)
上篇文章说了ZGC是jdk11加入的,他是未来jvm垃圾收集器的奠定者,满足TB级别内存处理,STW时间保持在10ms以下。 Jmap 我们可以先通过jmap -histo 进程ip 来查看,但是这样看不太清晰,我们可以用这行命令生成一个文件&…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
