HDFS API操作
一:客户端环境准备1.1 下载并安装 Windows 依赖cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows (github.com)
1.2 配置环境变量
1.3 双击运行
二:IDEA 实例测试2.1 添加maven 依赖1234567891011121314151617<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>3.2.2</version> </dependency> <dependency> <groupId>junit</groupId> & ...
HDFS shell操作
一:基本语法
hadoop fs 具体命令
hdfs dfs 具体命令
两者是完全相同的!
二:命令大全123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657[ghost@hadoop100 ~]$ hdfs dfsUsage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src> ...] [-checksum [-v] <src> ...] [-chgrp [-R] GROUP PATH...] [-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...] [-chown [-R] [OWNER][:[GROUP]] PATH...] [-concat <target path> <sr ...
HDFS 概述
一:HDFS 产出背景及定义1.1 HDFS 产生背景随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系 统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这 就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。
1.2 HDFS 定义HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目 录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务 器有各自的角色。
HDFS 的使用场景:适合一次写入,多次读出的场景。一个文件经过创建、写入和关闭之后就不需要改变。
二:HDFS 优缺点2.1 HDFS优点(1)高容错性
数据自动保存多个副本。它通过增加副本的形式,提高容错性。
某一个副本丢失以后,它可以自动恢复。
(2)适合处理大数据
数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据;
文件规模:能够处理百万规模以上的文件数量,数量相当之大。
(3)经济因素
可构建在廉价机器上,通过多副本机制,提高可靠性。
2.2 H ...
Hadoop 运行模式
一:运行模式概述
Hadoop 官方网站:http://hadoop.apache.org/
Hadoop 运行模式包括:本地模式、伪分布式模式以及完全分布式模式。
本地模式:单机运行,可以执行官方案例。生产环境不用。
伪分布式模式:也是单机运行,但是具备 Hadoop 集群的所有功能,一台服务器模 拟一个分布式的环境。生产环境不用。
完全分布式模式:多台服务器组成分布式环境。生产环境使用。
二:本地运行模式演示官方WordCount案例:
12345678910111213141516171819202122232425262728# 创建目录[root@hadoop100 hadoop-3.3.4]# mkdir wcinput# 创建文件[root@hadoop100 wcinput]# vim word.txt# 查看文件内容[root@hadoop100 wcinput]# cat word.txt ghost ghostsum moonhadoop hdfsmapreduce sparkhdfs hive# 执行 wordcount 命令[root@hadoop100 ...
Hadoop 运行环境搭建
一:模板虚拟机准备1.1 安装模板虚拟机IP 地址 192.31.58.100、主机名称 hadoop100、内存 4G、硬盘 40G,采用CentOS-7-x86_64-DVD-2009_2.iso镜像。
1.2 查看网络情况123456789[root@hadoop100 ~]# ping baidu.comPING baidu.com (110.242.68.66) 56(84) bytes of data.64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=26.3 ms64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=26.7 ms64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=24.7 ms^C--- baidu.com ping statistics ---3 packets transmitted, 3 rec ...
Hadoop 概述
一:Hadoop简介
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
主要解决,海量数据的存储和海量数据的分析计算问题。
广义来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。
二:Hadoop发展历史
Hadoop创始人Doug Cutting,为 了实 现与Google类似的全文搜索功能,他在Lucene框架基础上进行优 化升级,查询引擎和索引引擎。
2001年年底Lucene成为Apache基金会的一个子项目。
对于海量数据的场景,Lucene框 架面 对与Google同样的困难,存 储海量数据困难,检 索海 量速度慢。
学习和模仿Google解决这些问题的办法 :微型版Nutch。
可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
GFS —>HDFS
Map-Reduce —>MR
BigTable —>HBase
2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用 了2年业余时间实现了DFS和MapRed ...
Hadoop 大数据概论
一:大数据概念1.1 概述
大数据(Big Data):指无法在一定时间范围内用常规软件工具进行捕捉、管理和 处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化 能力的海量、高增长率和多样化的信息资产。
大数据主要解决,海量数据的采集、存储和分析计算问题。
1.2 存储单位
按顺序给出数据存储单位:bit、Byte、 KB、MB、GB、TB、PB、EB、ZB、YB、 BB、NB、DB。
1Byte = 8bit 1K = 1024Byte 1MB = 1024K 1G = 1024M 1T = 1024G 1P = 1024T
二:大数据特点2.1 Volume(大量)截至目前,人类生产的所有印刷材料的数据量是200PB,而历史上全人类总共 说过的话的数据量大约是5EB。当前,典型个人计算机硬盘的容量为TB量级,而 一些大企业的数据量已经接近EB量级。
2.2 Velocity(高速)这是大数据区分于传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2025年,全球数据使用量将达到 ...
Shell 应用案例
一:归档文件1.1 功能描述实现一个每天对指定目录归档备份的脚本,输入一个目录名称(末尾不带/), 将目录下所有文件按天归档保存,并将归档日期附加在归档文件名上,放在/root/archive 下。
1.2 相关技术
这里用到了归档命令:
tar 后面可以加上-c 选项表示归档,
加上-z 选项表示同时进行压缩,得到的文件后缀名 为.tar.gz。
1.3 脚本实现12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#!/bin/bash# 判断输入参数个数是否为1if [ $# -ne 1 ]then echo "参数个数错误!请输入一个参数,作为归档的目录名称" exitfi# 判断目录是否存在if [ -d $1 ]then echoelse echo "目录不存在" exitfiDIR_NAME=$ ...
Shell 文本处理工具
一:cut1.1 简介
cut 的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。
1.2 基本用法
cut [选项参数] filename
说明:默认分隔符是制表符
1.3 选项参数说明
1.4 案例实操1234567891011121314151617181920212223242526272829[root@hadoop100 shell]# cat cut.txt xiao hongxiao minghello worldbei jing# 按空格切分,取第一列[root@hadoop100 shell]# cut -d " " -f 1 cut.txt xiaoxiaohellobei# 按空格切分,取第二列、第三列[root@hadoop100 shell]# cut -d " " -f 2,3 cut.txt hongmingworldjing# 切割出 world[root@hadoop100 shell]# cat cut.txt | gr ...
Shell 正则表达式
一:概述
正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。
通常被用来检索、替换那些符合某个模式的文本。
在 Linux 中,grep, sed,awk 等文本处理工具都支持通过正则表达式进行模式匹配。
二:常规匹配一串不包含特殊字符的正则表达式匹配自身;
123# 匹配所有包含 ghost 的行[root@hadoop100 ~]# cat /etc/passwd | grep ghostghost:x:1000:1000:ghost:/home/ghost:/bin/bash
三:常用特殊字符(1)特殊字符:^
^ 匹配一行的开头
12345# 匹配所有以a开头的行[root@hadoop100 ~]# cat /etc/passwd | grep ^aadm:x:3:4:adm:/var/adm:/sbin/nologinabrt:x:173:173::/etc/abrt:/sbin/nologinavahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
(2)特 ...



