HDFS

HDFS

独自空忆成欢 提交于 2020-01-10 02:22:45
0.HDFS 真实数据存放在/opt/module/hadoop-2.9.2/data/tmp/dfs/data/current/BP-2145380219-192.168.10.22-1578505326450/current/finalized/subdir0/subdir0处 1.块的设置 说明;块如果很大,虽然定位块的时间短(块少),但是传输时间块的大 2.shell操作 说明:dfs属于fs 说明:5)从本地文件到HDFS 说明:13)最后那个是将文件下载到那里 说明:18)是统计该目录下总共多大 说明:对于kongming.txt而言,设置它有10个副本,分别放到10个datanode上 来源: https://www.cnblogs.com/pjishu/p/12174265.html

HBase 数据迁移方案介绍

无人久伴 提交于 2020-01-10 02:13:54
一、前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类。下面分别介绍一下。 二、Hadoop层数据迁移 2.1 方案介绍 Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是: DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 我们知道MR程序适合用来处理大批量数据, 其拷贝本质过程是启动一个MR作业,不过DisctCp只有map,没有reducer。在拷贝时,由于要保证文件块的有序性,转换的最小粒度是一个文件,而不像其它MR作业一样可以把文件拆分成多个块启动多个map并行处理。如果同时要拷贝多个文件,DisctCp会将文件分配给多个map,每个文件单独一个map任务。我们可以在执行同步时指定 -m 参数来设定要跑的map数量,默认设置是20。如果是集群间的数据同步,还需要考虑带宽问题,所以在跑任务时还需要设定 bandwitdh 参数,以防止一次同步过多的文件造成带宽过高影响其它业务。同时

Hadoop分布式集群最快部署配置攻略

一笑奈何 提交于 2020-01-10 00:09:29
本文只是介绍apache hadoop完全分布式的最简化部署配置 没有对性能进行优化 实际生产环境hadoop的调优参数有几十个 Hadoop简介 Hadoop的框架最核心组成结构就是:HDFS和MapReduce。 HDFS是海量数据的分布式存储方案 MapReduce为海量的数据提供了计算 部署环境 centos 7 3台或者4台 如果需要secondarynamenode的情况 分别是namenode datanode0 datanode1 secondarynamenode暂时不配置 hadoop 2.7.5 部署步骤 去官网下载apache hadoop2.7.5的binaray包,是tar.gz格式。直接使用wget或者curl下载到namenode即可。 解压tar.gz包 使用命令tar xf xxxxxxx-hadoop-xxxx.tar.gz 解压之后会看到当前目录下有一个hadoop的目录 将解压后的目录复制到相应的文件 如:有人习惯放在/opt下,有人习惯在/usr/local下,这个因人而异吧,目前我的做法是创建一个如/app的目录,然后将hadoop的目录复制到这个目录下,操作如下:mkdir /app 创建一个app目录 然后使用cp -r hadoop-xxxx /app/ 将hadoop-xxxx的目录复制到/app/下,这里注意 -r参数

hive入门

筅森魡賤 提交于 2020-01-09 23:40:38
作者:2551529836 Hive ** Facebook开源 ** 官网:hive.apache.org ** Hive是基于Hadoop的一个数据仓库工具 Hive与数据库: 数据库: mysql、oracle、DB2、sqlserver 数据仓库 !== 数据库 换言之, Hive不是数据库 为什么要选择hive ** MapReduce编程成本高 ** 针对传统的DBA,不会不熟悉java,要想数据分析,借助Hive Hive简介: ** 流程 ** hql --> Hive(java) --> mapreduce -->yarn --> hdfs ** 本质: 将HQL转化成MapReduce程序 ** 使用MapReduce计算模型,运行在yarn平台之上 ** Hive适合离线批量处理,延时比较大 ** 不适合在线业务实时分析结果,业务要求延时较低的场景不适合 Hive体系结构 ** 用户接口: Client ** 终端命令行CLI --主要的一种使用方式 ** JDBC方式 --几乎不用 ** 元数据:metastore ** 默认apache使用的是derby数据库(只能有一个客户端使用),CDH使用postgreDB ** 企业通常我们会选择另外一种mysql来存储 ** 元数据包括:表名、表所属的数据库(默认是default)、 表的拥有者、列/分区字段

Elasticsearch学习(1)—— 简介

只愿长相守 提交于 2020-01-09 14:27:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 【简介】 Elasticsearch ( ES ) 是一个基于 Lucene 的 实时分布式开源的全文搜索和分析引擎 。它不但 稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。 Elasticsearch 通常用于单页面应用 ( Single Page Application ) 项目中,这个应用程序像 Google 和百度一样,提供一个搜索框用于输入关键字,然后返回一个包含搜索结果的列表。 Elasticsearch 使用 Java 语言开发,使用 Elastic 开源协议,已经被世界各地的各个大型的公司或组织使用。 Elasticsearch 通过 RESTful Web 服务接口访问,并使用 JSON 文档来存储数据。 【Elasticsearch 优点】 跨平台 :Elasticsearch 使用 Java 作为开发语言,所以可以运行在任何平台上; 近实时 :在Elasticsearch和磁盘之间是文件系统缓存,内存buffer生成一个新的segment,刷到文件系统缓存中,Lucene即可检索到这个新的segment。 刷到文件系统缓存中这个步骤,Elasticsearch默认1s的时间间隔,这也就是说相当于是实时搜索的 ; 分片机制提供更好的分布性 :同一个索引分成多个分片

集群的一些问题

牧云@^-^@ 提交于 2020-01-09 05:00:44
 Web页面出现一些错误: namenode 出现 missing blocks的解决方案 There are 2 missing blocks. The following files may be corrupted: blk_1078468526 /user/spark/sparkstreamingcheckpoint/checkpoint-1517487380000 blk_1078468528 /user/spark/sparkstreamingcheckpoint/checkpoint-1517487400000 Please check the logs or run fsck in order to identify the missing blocks. See the Hadoop FAQ for common causes and potential solutions. 通过 hdfs dfs -cat /user/spark/sparkstreamingcheckpoint/checkpoint-1517487380000 发现确实有两个blocks丢失 这两个blocks的两个副本都丢失了,所以才导致hdfs发出这个警告。 数据已经无法恢复,只能通过命令删除元数据来消除警告。 hdfs dfs -rm -r -f /user/spark

大数据(hadoop-生态系统概述以及版本演化)

走远了吗. 提交于 2020-01-09 01:44:30
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Hadoop生态系统的特点: 源代码开源(免费) 社区活跃、参与者众多 涉及分布式存储和计算的方方面面 已得到企业界验证 Hadoop1.0和2.0: Hadoop概述: 分布式存储系统HDFS(Hadoop Distributed File System) 分布式存储系统 提供了高可靠性、高扩展性和高吞吐率的数据存储服务 资源管理系统YARN(Yet Another Resource Negotiator) 负责集群资源的统一管理和调度 分布式计算框架MapReduce 分布式计算框架 具有易于编程、高容错性和高扩展性等优点 Hadoop2.0层级关系: Hadoop构成 :HDFS 分布式文件存储 源自于Google的GFS论文 发表于2003年10月 HDFS是GFS克隆版 HDFS特点 良好的扩展性 高容错性 适合PB级以上海量数据的存储 基本原理 将文件切分成等大的数据块,存储到多台机器上 将数据切分、容错、负载均衡等功能透明化 可将HDFS看成一个容量巨大、具有高容错性的磁盘 应用场景 海量数据的可靠性存储 数据归档 Hadoop构成 :YARN(资源管理系统) YARN是什么 Hadoop 2.0新增系统 负责集群的资源管理和调度 使得多种计算框架可以运行在一个集群中

Hadoop集群动态扩容、缩容

送分小仙女□ 提交于 2020-01-09 01:11:28
一、 Hadoop 集群动态扩容、缩容 随着公司业务的增长,数据量越来越大,原有的 datanode 节点的容量已经不能满足存储数据的需求,需要在 原有集群基础上动态添加新的数据节点 。也就是俗称的 动态扩容 。 有时候旧的服务器需要进行退役更换,暂停服务,可能就需要在 当下的集群中停止某些机器上 hadoop 的服务 ,俗称 动态缩容 。 1. 动态扩容 1.1. 基础准备 在基础准备部分,主要是设置 hadoop 运行的系统环境 修改新机器系统 hostname (通过 /etc/sysconfig/network 进行修改) 修改 hosts 文件,将集群所有节点 hosts 配置进去(集群所有节点保持 hosts 文件统一) 设置 NameNode 到 DataNode 的免密码登录( ssh-copy-id 命令实现) 修改主节点 slaves 文件,添加新增节点的 ip 信息( 集群重启时配合一键启动脚本使用 ) 在新的机器上上传解压一个新的 hadoop 安装包,从主节点机器上将 hadoop 的所有配置文件, scp 到新的节点上。 1.2. 添加 datanode 在 namenode 所在的机器的 /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop 目录下创建 dfs.hosts 文件 cd /export

scala的wordcount程序

瘦欲@ 提交于 2020-01-08 23:18:18
goods.txt 13059 2019-12-23 06:12:29 15281 2019-12-23 06:12:29 14905 2019-12-23 06:12:29 14622 2019-12-23 06:12:29 19817 2019-12-23 06:12:29 13009 2019-12-23 06:12:29 14572 2019-12-23 06:12:29 11081 2019-12-23 06:12:29 17228 2019-12-23 06:12:29 16931 2019-12-23 06:12:29 18945 2019-12-23 06:12:29 18013 2019-12-23 06:12:29 11879 2019-12-23 06:12:29 17429 2019-12-23 06:12:29 17570 2019-12-23 06:12:29 12141 2019-12-23 06:12:29 11758 2019-12-23 06:12:29 15326 2019-12-23 06:12:29 14718 2019-12-23 06:12:29 13607 2019-12-23 06:12:29 16815 2019-12-23 06:12:29 11954 2019-12-23 06:12:29 12841 2019-12-23

HDFS伪分布式环境搭建记录

痞子三分冷 提交于 2020-01-08 19:36:39
一、环境准备 IP地址查看 ifconfig 192.168.2.46 修改主机名 hostnamectl set-hostname master hostname 关闭防火墙 systemctl disable firewalld 配置hosts文件 vi /etc/hosts 192.168.2.46 master 重启网络 systemctl restart network 创建hadoop用户 useradd hadoop passwd hadoop 密码hadoop7890 su - hadoop ssh-keygen -t rsa -P '' ls .ssh/ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 设置SSH配置 su - root vi /etc/ssh/sshd_config PubkeyAuthentication yes # 启用公钥私钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(默认不需要修改) systemctl restart sshd 验证ssh su - hadoop ssh master exit su - root 二、安装jdk tar -zxvf jdk-8u162-linux-x64.tar.gz mv /root