HDFS

大数据教程(6.5)hadoop shell命令操作&mapreduce程序运行初体验

丶灬走出姿态 提交于 2020-04-18 04:11:04
上一篇文章,博主为大家分享了hadoop的安装以及集群的启动,本篇博客将带领小伙伴们一起来感受下hadoop命令和Linux命令的使用有什么不同。 一、首先,启动hadoop集群,执行脚本sh start-dfs.sh;sh start-yarn.sh 二、浏览器中查看dfs中的文件目录(此时文件为空),对应的到hadoop中数据节点中的路径/home/hadoop/hdpdata/dfs/data/current/BP-302498708-192.168.29.144-1540943832361/current/finalized,其中/home/hadoop/hdpdata为配置文件中配dfs路径。 三、命令行使用体验 #查看hdfs根目录 hadoop fs -ls hdfs://centos-aaron-h1:9000/ 或 hadoop fs -ls / #将test.avi这个文件上传到hdfs跟目录中,默认为128m才切开成不同的块来存放. hadoop fs -put test.avi / hadoop fs -put test.avi test1.avi / #如果文件被切成了不同的块,我们知道是哪几个块的话,可以用块直接还原文件 cat bloc_2034655 >>hadoop.file cat bloc_2034656 >>hadoop.file tar

hadoop之mapreduce详解(基础篇)

。_饼干妹妹 提交于 2020-04-18 02:48:39
本篇文章主要从mapreduce运行作业的过程,shuffle,以及mapreduce作业失败的容错几个方面进行详解。 一、mapreduce作业运行过程 1.1、mapreduce介绍 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。 ---来源于百度百科 MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure) MapReduce是一个并行计算与运行软件框架(Software Framework) MapReduce是一个并行程序设计模型与方法(Programming Model & Methodology) mapreduce是hadoop中一个批量计算的框架,在整个mapreduce作业的过程中,包括从数据的输入,数据的处理,数据的数据输入这些部分,而其中数据的处理部分就要map,reduce,combiner等操作组成

Hadoop安装-单机-伪分布式简单部署配置

放肆的年华 提交于 2020-04-18 02:06:12
最近在搞大数据项目支持所以有时间写下hadoop随笔吧。 环境介绍: Linux: centos7 jdk:java version "1.8.0_181 hadoop:hadoop-3.2.0 ssh:配置ssh免密码登录 安装步骤: 1.下载hadoop 地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz 下载完成后解压包 tar xzvf hadoop-3.2.0.tar.gz 2.配置jdk环境变量 vim /etc/profile export JAVA_HOME=/root/jdk1.8.0_181 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib PATH=.:${JAVA_HOME}/bin/:$PATH 3.cd到解压完成hadoop目录创建input文件夹,将etc、hadoop下的*.xml拷贝到input中 mkdir input cp etc/hadoop/*.xml input/ 4.运行单机配置(非分布式) 默认情况下,Hadoop配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。

Hive+Sqoop+Mysql整合

醉酒当歌 提交于 2020-04-17 22:16:32
Hive+Sqoop+Mysql整合 在本文中,LZ随意想到了一个场景: 车,道路,监控,摄像头 即当一辆车在道路上面行驶的时候,道路上面的监控点里面的摄像头就会对车进行数据采集。 我们对采集的数据进行分析,处理,最后把结果保存到mysql数据库中供Web UI显示监控点/摄像头状态。 A:监控点/摄像头状态 工作流程如下: 1.数据格式 /** * 产生测试数据: * 数据format: * 记录时间 车牌号码 车速 道路编号 监控地点 摄像头编号 * date_time vehicle_plate vehicle_speed road_id monitor_id camera_id * * 中间使用'\t'隔开 * 16/01/2019 10:20:30 SCN89000J 124 10002 20004 40007 * * 具体说明: * 道路编号 * 10001 - 10100 * * 监控地点 - 在一条道路上面有2个监控点 * 20001 - 20200 * * 摄像头编号 - 在一个监控点上面2个摄像头 * 40001 - 40400 * * 道路: 10001 10002 * 监控: 20001-20002 20003-20004 * 摄像头: 40001-40002-40003-40004 40005-40006-40007-40008 * * 车速: 1-300

Rule of thumb for reading from a file and defining schema for complex data structure

天涯浪子 提交于 2020-04-17 18:59:27
问题 I am confused about reading a complex file (i.e. tuple and bag) in Pig and defining schemas, to be more precise how I shall translate { , (, and a deliminator (e.g. |) during reading a file. For example, I cannot figure out the content of 'complex_7.txt' with the following line in Pig: (I am doing a reverse Eng, I have this example, and I am trying to write the text file that this schema can be used on) a = LOAD '/user/maria_dev/complex_7.txt' AS (f1:int,f2:int,B:bag{T:tuple(t1:int,t2:int)});

Rule of thumb for reading from a file and defining schema for complex data structure

对着背影说爱祢 提交于 2020-04-17 18:57:05
问题 I am confused about reading a complex file (i.e. tuple and bag) in Pig and defining schemas, to be more precise how I shall translate { , (, and a deliminator (e.g. |) during reading a file. For example, I cannot figure out the content of 'complex_7.txt' with the following line in Pig: (I am doing a reverse Eng, I have this example, and I am trying to write the text file that this schema can be used on) a = LOAD '/user/maria_dev/complex_7.txt' AS (f1:int,f2:int,B:bag{T:tuple(t1:int,t2:int)});

[转帖]RocksDB简介

人盡茶涼 提交于 2020-04-17 08:25:31
【推荐阅读】微服务还能火多久?>>> RocksDB简介 https: // www.jianshu.com/p/a0088d7e9b97 1、RocksDB简介 RocksDB项目起源于Facebook的一个实验项目,该项目旨在开发一个与快速存储器(尤其是闪存)存储数据性能相当的数据库软件,以应对高负载服务。 这是一个c++库,可用于存储键和值,可以是任意大小的字节流。它支持原子读和写。 RocksDB具有高度灵活的配置功能,可以通过配置使其运行在各种各样的生产环境,包括纯内存,Flash,硬盘或HDFS。它支持各种压缩算法,并提供了便捷的生产环境维护和调试工具。 2、假设和目标 性能: RocksDB的主要设计目标是保证存取快速存储器和高负载服务器更高效,保证充分利用Flash或RAM子系统提供的高速率读写,支持高效的查找和范围scan,支持高负载的随机读、高负载的更新操作或两者的结合。其架构应该支持高并发读写和容量大增时系统的一致性。 向后兼容性: 这个软件的新版本应该是向后兼容的,因此,当升级到新版本时现有的应用程序不需要改变。 3、高级体系结构 RocksDB是一个嵌入式键值存储器,其中键和值是任意的字节流。RocksDB中的所有数据是按序存放的。常见操作包括Get(key), Put(key), Delete(key) and Scan(key)。

记一次私有云向阿里adb导数

◇◆丶佛笑我妖孽 提交于 2020-04-16 12:31:44
【推荐阅读】微服务还能火多久?>>> 1、背景 刚到新公司不久,领导安排了一个组件调研的数据支持工作。 简单说就是从私有云中的数据导出千万级数据量到adb中,为QuickBI调研提供支持。 adb是阿里提供的一个类似mysql的服务,整个任务可以抽象成:从分布式系统向关系型数据库同步数据,可以归类到ETL工作中。 2、问题 首次接触阿里云相关的组件,需要熟悉相关组件的使用。 leader提出了用sqoop进行处理,但是私有云中未安装。 同事提出历史方案,通过将数据上传到oss,利用adb中类似hive外部表的特性进行数据传输。 3、实施方案 因为有了大数据相关的经验,阿里云的相关组件,上手还是比较快的。 利用sqoop工具 由于是第一次安装sqoop,安装过程中对linux的操作更熟悉了一些,对私有云组件的安装情况有个快速的了解。 在使用sqoop中遇到几个问题: 集群客户端节点无法连接到adb --- 经排查是未将客户端ip添加到adb白名单引起的。处理方案:找运维添加白名单。 由于adb提供的服务地址不是ip地址,所以遇到了数据库url解析异常问题 处理方案:通过 ping 相应的域名获取到ip地址,替换原有url服务地址。 运行修改后的脚本,任务还是不能顺利执行,通过查找任务对应的堆栈信息,得到下面的信息: 超时!?那增加数据库的超时时间和socket超时时间。结果是好的

PaddlePaddle/ElasticCTR

落爺英雄遲暮 提交于 2020-04-16 11:48:02
【推荐阅读】微服务还能火多久?>>> ElasticCTR ElasticCTR是分布式训练CTR预估任务和Serving流程一键部署的方案,用户只需配置数据源、样本格式即可完成一系列的训练与预测任务 1. 总体概览 2. 配置集群 3. 一键部署教程 4. 训练进度追踪 5. 预测服务 1. 总体概览 本项目提供了端到端的CTR训练和二次开发的解决方案,主要特点如下: 1.快速部署 ElasticCTR当前提供的方案是基于百度云的Kubernetes集群进行部署,用户可以很容易扩展到其他原生的Kubernetes环境运行ElasticCTR。 2.高性能 ElasticCTR采用PaddlePaddle提供的全异步分布式训练方式,在保证模型训练效果的前提下,近乎线性的扩展能力可以大幅度节省训练资源。在线服务方面,ElasticCTR采用Paddle Serving中高吞吐、低延迟的稀疏参数预估引擎,高并发条件下是常见开源组件吞吐量的10倍以上。 3.可定制 用户可以通过统一的配置文件,修改训练中的训练方式和基本配置,包括在离线训练方式、训练过程可视化指标、HDFS上的存储配置等。除了通过修改统一配置文件进行训练任务配置外,ElasticCTR采用全开源软件栈,方便用户进行快速的二次开发和改造。底层的Kubernetes、Volcano可以轻松实现对上层任务的灵活调度策略

PaddlePaddle/PLSC

假装没事ソ 提交于 2020-04-16 11:21:14
【推荐阅读】微服务还能火多久?>>> PLSC: 飞桨大规模分类库 简介 深度学习中用于解决多分类问题的深度神经网络的最后一层通常是全连接层和Softmax的组合层,并采用交叉熵(Cross-Entropy)算法计算神经网络的损失函数。由于全连接层的参数量随着分类类别数的增长线性增长,当分类类别数相当大时,神经网络的训练会面临下面两个主要挑战: 参数量过大,超出单个GPU卡的显存容量:假设分类网络最后一层隐层的输出维度为512,那么当分类类别数为一百万时,最后一层全连接层参数的大小约为2GB(假设以32比特浮点数表示参数)。当分类问题的类别数为一亿时(例如,对自然界中的生物进行分类),则最后一层全连接层参数的大小接近200GB,远远超过当前GPU的显存容量。 参数量较大,同步训练方式下通信开销较大:数据并行训练方式下,所有GPU卡之间需要同步参数的梯度信息,以完成参数值的同步更新。当参数数量较大时,参数的梯度信息数据量同样较大,从而导致参数梯度信息的通信开销较大,影响训练速度。 飞桨大规模分类(PLSC: P addlePaddle L arge S cale C lassification)库是基于 飞桨平台 构建的超大规模分类库,为用户提供从训练到部署的大规模分类问题全流程解决方案。 PLSC特性 支持超大规模分类:单机8张V100 GPU配置下支持的最大类别数扩大2.52倍