![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
hadoop技术【初学】
hadoop生态组件
江湖侠客
这个作者很懒,什么都没留下…
展开
-
zookeeper分布式安装部署
1、集群规划在hadoop105、hadoop106和hadoop107三个节点上部署Zookeeper。操作步骤如下:2、解压安装(1)上传zookeeper压缩包(zookeeper-3.4.5.tar.gz)到/usr/local/hadoop文件目录下(2)解压zookeeper压缩包到/usr/local/hadoop/module文件目录下[root@hadoop10...原创 2020-01-16 17:50:33 · 323 阅读 · 0 评论 -
Zookeeper入门到高可用(HA)
上节:zookeeper基本操作1、概述Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目。2、Zookeeper工作机制3、Zookeeper特点4、数据结构5、应用场景提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等。5.1 统一命名服务5.2 统一配置管理5.3 统一集群管理...原创 2019-12-01 22:34:08 · 257 阅读 · 0 评论 -
Zookeeper入门学习
一、基本命令操作1.1 启动zookeeper的单机模式启动zookeeper的客户端命令zkCli.sh,后面不要加start,不然会报错1.2 查看zookeeper目录下有哪些,执行命令:ls /1.3 退出客户端,命令:quit1.4 查看服务有哪些,执行:jps当要停止服务执行:zkServer.sh stop二、配置参数解读参数解读:tickT...原创 2019-11-03 12:13:10 · 175 阅读 · 0 评论 -
第3章 Kafka工作流程分析
上篇:第2章 大数据 Kafka集群部署KafKa核心组成1、 Kafka生产过程分析1.1、 写入方式producer采用推(push)模式将消息发布到broker,每条消息都被追加(append)到分区(patition)中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障kafka吞吐率)。1.2 、分区(Partition)消息发送时都被发送到一个topic,其本质就是...原创 2020-01-17 23:06:41 · 194 阅读 · 0 评论 -
第2章 大数据 Kafka集群部署
上篇:第1章 Kafka概述1、环境准备1.1 集群规划1.2 jar包下载http://kafka.apache.org/downloads.html2、Kafka集群部署原创 2020-01-16 23:07:31 · 667 阅读 · 0 评论 -
第1章 Kafka概述
1、消息队列(1)点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除)点对点模型通常是一个基于拉取或者轮询的消息传送模型,这种模型从队列中请求信息,而不是将消息推送到客户端。这个模型的特点是发送到队列的消息被一个且只有一个接收者接收处理,即使有多个消息监听者也是如此。(2)发布/订阅模式(一对多,数据生产后,推送给所有订阅者)发布订阅模型则是一个基于推送的消息传送模型。发布订阅模...原创 2020-01-13 17:26:14 · 158 阅读 · 0 评论 -
第2章 大数据Sqoop安装
上篇:第1章 Sqoop简介与Sqoop原理安装Sqoop的前提是已经具备Java和Hadoop的环境。1、下载并解压(1)下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.6/(2)上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz到虚拟机中(3)解压sqoop安装包到指定目录,如:自己解压...原创 2020-01-26 19:37:15 · 238 阅读 · 0 评论 -
第1章 Sqoop简介与Sqoop原理
1、Sqoop简介Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后...原创 2020-01-26 19:02:11 · 205 阅读 · 0 评论 -
hadoop集群搭建(完全分布式详细版)
上篇:1、hadoop集群配置,需要配置如下文件:hadoop-env.shcore-site.xmlhdfs-site.xmlmapred-site.xml.template(先拷贝 mapred-site.xml.template文件并重命名为: mapred-site.xml)yarn-site.xml操作如下:(1)进入hadoop-2.7.2/etc/hadoop文件目...原创 2020-01-14 14:37:57 · 956 阅读 · 0 评论 -
MapReduce开发总结
在编写MapReduce程序时,需要考虑如下几个方面:MapReduce开发总结Hadoop数据压缩压缩概述压缩策略和原则MR支持的压缩编码为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器,如下表所示。压缩性能的比较压缩方式选择Gzip压缩Bzip2压缩Lzo压缩Snappy压缩压缩位置选择压缩可以在MapReduce作用的...原创 2019-12-01 13:06:41 · 437 阅读 · 0 评论 -
数据清洗--简单解析版(ETL)与复杂解析版
计数器应用数据清洗(ETL)在运行核心业务MapReduce程序之前,往往要先对数据进行清洗,清理掉不符合用户要求的数据。清理的过程往往只需要运行Mapper程序,不需要运行Reduce程序。数据清洗案例实操-简单解析版1.需求去除日志中字段长度小于等于11的日志。(1)输入数据(2)期望输出数据每行字段长度都大于11。2.需求分析需要在Map阶段对输入的数据根据规则进行...原创 2019-11-30 21:39:43 · 950 阅读 · 0 评论 -
Join多种应用
Reduce JoinReduce Join工作原理Reduce Join案例实操创建创建完毕:第一步,对pom.xml文件依赖:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" ...原创 2019-11-30 20:41:48 · 247 阅读 · 0 评论 -
MapTask工作机制
MapTask工作机制上节:MapReduce工作流程(1)Read阶段:MapTask通过用户编写的RecordReader,从输入InputSplit中解析出一个个key/value。(2)Map阶段:该节点主要是将解析出的key/value交给用户编写map()函数处理,并产生一系列新的key/value。(3)Collect收集阶段:在用户编写map()函数中,当数据处理完成后...原创 2019-11-28 22:37:53 · 174 阅读 · 0 评论 -
MapReduce工作流程
上节的MapReduce并行度决定机制MapReduce工作流程(一)MapReduce工作流程(二)流程详解上面的流程是整个MapReduce最全工作流程,但是Shuffle过程只是从第7步开始到第16步结束,具体Shuffle过程详解,如下:1)MapTask收集我们的map()方法输出的kv对,放到内存缓冲区中2)从内存缓冲区不断溢出本地磁盘文件,可能会溢出多个文件...原创 2019-11-23 18:42:07 · 691 阅读 · 0 评论 -
MapReduce并行度决定机制
MapReduce框架原理1、InputFormat数据输入切片与MapTask并行度决定机制1. 问题引出MapTask的并行度决定Map阶段的任务处理并发度,进而影响到整个Job的处理速度。思考:1G的数据,启动8个MapTask,可以提高集群的并发处理能力。那么1K的数据,也启动8个MapTask,会提高集群性能吗?MapTask并行任务是否越多越好呢?哪些因素影响了MapTa...原创 2019-11-22 20:54:54 · 418 阅读 · 0 评论 -
Hadoop序列化
序列化概述什么是序列化为什么要序列化为什么不用Java序列化Hadoop序列化特点自定义bean对象实现序列化接口(Writable)在企业开发中往往常用的基本序列化类型不能满足所有需求,比如在Hadoop框架内部传递一个bean对象,那么该对象就需要实现序列化接口。具体实现bean对象序列化步骤如下7步首先,工程创建开始:先在pom文件依赖jar文件: <...原创 2019-11-22 15:53:55 · 149 阅读 · 0 评论 -
第一个MapReduce
MapReduce定义MapReduce优缺点优点:缺点:MapReduce核心思想1)分布式的运算程序往往需要分成至少2个阶段。2)第一个阶段的MapTask并发实例,完全并行运行,互不相干。 3)第二个阶段的ReduceTask并发实例互不相干,但是他们的数据依赖于上一个阶段的所有MapTask并发实例的输出。4)MapReduce编程模型只能包含一个Map阶段和...原创 2019-11-21 23:49:51 · 171 阅读 · 0 评论 -
创建一个Maven工程HdfsClientDemo
工程创建步骤打开idea工具:工程创建完毕创建出来工程后,会弹出这个窗口,注意:不要点击这个,后果会使maven仓库非常乱在pom.xml文件中,导入相应的依赖坐标+日志添加pom.xml<dependencies> <dependency> <groupId>junit</groupId> <a...原创 2019-11-21 18:13:13 · 2265 阅读 · 0 评论 -
window的hadoop环境设置
步骤1、首先需要准备hadoop的jar文件在我的电脑高级设置第二步,在系统变量找到path文件编辑添加在hadoop安装目录下,找到etc文件目录的hadoop\hadoop-env.cmd第三步,在cmd窗口测试:ctrl+cwinutilshadoop version...原创 2019-11-20 21:24:32 · 109 阅读 · 0 评论 -
HDFS的shell基本操作
首先,启动dfs[root@hadoop100 ~]# start-dfs.sh上传文件系统[root@hadoop100 hadoop-2.7.2]# hdfs dfs -put etc /查看hadoop文件目录:创建etc2文件[root@hadoop100 bin]# hadoop fs -cp /etc /etc2查看文件占用文件容量信息[root@had...原创 2019-11-20 18:58:20 · 196 阅读 · 0 评论 -
历史服务器、日志聚集、集群时间同步
[root@hadoop100 hadoop]# ssh hadoop102 "jps"bash: jps: command not found执行脚本变量[root@hadoop100 hadoop]# ssh hadoop102 "source /etc/profile && jps"11028 NodeManager10588 SecondaryNameNode...原创 2019-11-20 17:24:45 · 204 阅读 · 0 评论 -
大数据之完全分布式配置--快速分发Hadoop
上节完成了完全分布式配置–分发脚本接下来我们需要做的就是完全分布式配置–快速分发Hadoop首先,我们需要把xsync文件拷贝到bin目录下我们就可以hadoop目录下执行:所有用户都能执行xsync[root@hadoop101 MissZhou]# sudo cp xsync /bin/[root@hadoop101 MissZhou]# [root@hadoop101 ha...原创 2019-11-19 22:48:15 · 929 阅读 · 0 评论 -
完全分布式配置--分发脚本
1、编写集群分发脚本xsyncscp定义:scp可以实现服务器与服务器之间的数据拷贝基本语法scp :命令-r :递归pdir/pdir/pdir/fname: 要拷贝的文件路径/名称user@hadoopuser@hadoopuser@hadoophost:pdir/pdir/pdir/fname:目的用户@主机:目的路径/名称案例实操(1)将hadoop101中/opt/h...原创 2019-11-19 14:55:47 · 259 阅读 · 0 评论 -
hadoop集群的免密登陆设置
1、首先,虚拟机准备3台并在各台虚拟机的vim /etc/hosts的目录文件下添加各位台映射的ip地址hadoop100机器:[root@hadoop100 ~]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localh...原创 2019-11-19 21:28:19 · 933 阅读 · 0 评论 -
大数据Yarn伪分布式在虚拟机部署(详细版)
Yarn伪分布式根据上章Hadoop本地运行模式接着我们需要做的就是:Yarn伪分布式步骤:1、对yarn-env.sh配置文件参数进行配置,该文件在hadoop安装目录下的etc/hadoop下:root@localhost hadoop]# lscapacity-scheduler.xml hadoop-env.sh httpfs-env.sh ...原创 2019-11-15 21:14:35 · 443 阅读 · 0 评论 -
Hadoop本地运行模式
Hadoop运行模式包括本地模式、伪分布式模式以及完全分布式模式Hadoop官方网站:http://hadoop.apache.org/本地运行模式1、创建在hadoop-2.7.2文件下面创建一个input文件夹[root@localhost hadoop-2.7.2]# mkdir input[root@localhost hadoop-2.7.2]# 2、 将Hadoop的...原创 2019-11-15 10:57:04 · 405 阅读 · 0 评论 -
虚拟机安装hadoop
安装hadoop步骤:1、传输压缩包:2、解压文件[root@localhost module]# tar -zxvf hadoop-2.7.2.tar.gz 3、配置文件参数:#HADOOP_HOMEexport HADOOP_HOME=/opt/hadoop/module/hadoop-2.7.2export PATH=$PATH:$HADOOP_HOME/binexpor...原创 2019-11-14 22:56:46 · 345 阅读 · 0 评论 -
虚拟机的配置
虚拟机的配置1、首先,创建一个用户[root@localhost ~]# useradd MissZhou2、查看创建用户的信息[root@localhost ~]# ll /hometotal 0drwx------. 2 MissZhou MissZhou 62 Nov 14 17:09 MissZhoudrwx------. 2 MrZhou MrZhou 62 No...原创 2019-11-14 18:04:21 · 298 阅读 · 0 评论 -
hadoop大数据版本选择和伪分布式安装的问题
首先,自己在搭建遇到的问题是50070的端口号,无法访问,排查了一下才知道配置参数细节上的问题。首先从主机上着手,排查得知:主机里面没有name node,了解知道core-site.xml的配置有问题:错误配置误点:另外需要配置:secondnamenode我们只需要在hdfs-site.xml配置即可:配置图:这里,自己需要说明一下:**value:3表示你的集群机器有多...原创 2019-10-13 16:15:35 · 126 阅读 · 0 评论 -
第3章 大数据Flume企业开发案例
上篇:第2章 Flume快速入门1、监控端口数据官方案例1)案例需求首先,Flume监控本机44444端口,然后通过telnet工具向本机44444端口发送消息,最后Flume将监听的数据实时显示在控制台。2)需求分析:3)实现步骤:(1)安装telnet工具,首先进入/usr/local/hadoop文件目录下执行之前,先将telnet-0.17-59.el7.x86_64.rpm...原创 2020-01-10 22:05:10 · 231 阅读 · 0 评论 -
第2章 Flume快速入门
上篇:第1章 Flume概述1、Flume安装地址(1)Flume官网地址http://flume.apache.org/(2)文档查看地址http://flume.apache.org/FlumeUserGuide.html(3)下载地址http://archive.apache.org/dist/flume/2、安装部署(1)1)将apache-flume-1.7...原创 2020-01-09 22:42:45 · 205 阅读 · 0 评论 -
第1章 概述
1、 Flume定义Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。为什么要选用Flume?2、Flume组成架构Flume组成架构如图:Flume组成架构下面我们来详细介绍一下Flume架构中的组件:2.1、 AgentAgent是一个JVM进程,它以事件的形式将数据从源头送至目的,是F...原创 2020-01-09 22:19:19 · 309 阅读 · 0 评论 -
第1章 kettle概述
1、什么是kettleKettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle核心知识点2、Kettle工程存储方式以XML形式存储以资源库方式存储(数据库资源库和文件资源库)Kettle的两种设计3、Kettle的组成4、kettle特点...原创 2020-03-14 16:25:15 · 309 阅读 · 0 评论 -
第9章 大数据 企业级Hive调优
上篇:1、Hive优化–Fetch抓取Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是...原创 2020-01-09 14:37:01 · 317 阅读 · 1 评论 -
第8章 压缩和存储
上篇:第7章 函数1、Hadoop源码编译支持Snappy压缩1.1 资源准备1.CentOS联网配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的注意:采用root角色编译,减少文件夹权限出现问题2.jar包准备(hadoop源码、JDK8 、maven、protobuf)(1)hadoop-2.7.2-src.tar.gz(2)jdk-...原创 2020-01-07 17:13:17 · 143 阅读 · 0 评论 -
第7章 函数
上篇:第6章 hive数据操作—查询(重点)1、 系统内置函数(1)查看系统自带的函数hive (default)> show functions;OKtab_name!!=%&*+-/<<=<=><>===>>=^absacosadd_monthsandarrayarray_...原创 2020-01-06 15:05:03 · 182 阅读 · 0 评论 -
第6章 hive数据操作---查询(重点)
上篇:第5章 Hive数据操作—DML数据操作做一个简单的查询测试(1)首先把一个dept表清空,清空这个表必须是内部表,外部表是无法清空的,执行命令如下:无法清空,说明是外部表:hive (default)> truncate table dept;FAILED: SemanticException [Error 10146]: Cannot truncate non-man...原创 2020-01-05 15:43:23 · 710 阅读 · 0 评论 -
第5章 Hive数据操作---DML数据操作
上篇:第4章 大数据 数据仓库–DDL数据定义1、数据导入1.1 数据导入向表中装载数据(Load)语法hive> load data [local] inpath '/opt/module/datas/student.txt' overwrite | into table student [partition (partcol1=val1,…)];(1)load da...原创 2020-01-03 00:17:08 · 292 阅读 · 0 评论 -
第4章 大数据 数据仓库--DDL数据定义
上篇:Hive数据类型1、创建数据库1)创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.db。hive (default)> create database db_hive;OKTime taken: 0.123 secondshive (default)> 2)创建数据表hive (default)> c...原创 2019-12-31 03:11:58 · 344 阅读 · 0 评论 -
第3章 Hive数据类型
上篇:数据仓库 Hive安装配置1、基本数据类型对于Hive的String类型相当于数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。2、集合数据类型Hive有三种复杂数据类型ARRAY、MAP 和 STRUCT。ARRAY和MAP与Java中的Array和Map类似,而STRUCT与C语言中的Struct...原创 2019-12-30 16:41:24 · 125 阅读 · 0 评论