大数据实战平台环境搭建(下)

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据实战平台环境搭建(下)

大数据实战平台环境搭建(上)https://developer.aliyun.com/article/1507492?spm=a2c6h.13148508.setting.14.1b484f0eD2AqhJ

4、启动 hdfs

图47:启动hdfs

在终端输入./sbin/start-dfs.sh启动hsfd,再输入jsp查看java进程。

5、查看 Hadoop(用 Browser)

图48:用 Browser查看 Hadoop

注意这里要用Ubuntu自带的浏览器,地址为:http://localhost:9870

6、创建Hadoop用户的用户目录及input目录

图49:创建 Hadoop 用户的用户目录及 input 目录

在终端输入./bin/hdfs dfs -mkdir -p /usr/hadoop创建Hadoop用户的用户目录,在终端输入./bin/hdfs dfs -mkdir input创建Hadoop用户的input目录。(其中./bin/hdfs dfs是指令前缀,后面是正常的Ubuntu指令。)

7、将本地配置文件夹上传到分布式文件系统

图50:将本地配置文件夹上传到分布式文件系统

在终端输入bin/hdfs dfs -put ./etc/hadoop/.xml input将本地配置文件夹上传到分布式文件系统.(bin/hdfs dfs是指令前缀,-put是命令,./etc/hadoop/.xml是源,input是目标。)

8、测试demo

图51:测试demo

在终端输入./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/

hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'测试指令进行测试。

注意这里和单机hadoop测试不一样的地方是这里后面是input output,单机时是./input ./output。

图52:测试完成

9、查看结果

图53:查看测试结果

在终端输入.bin/hdfs dfs -cat output/*查看测试结果。

10、关闭 hdfs

图54:删除output目录

在终端输入.bin/hdfs dfs -rm -r output删除output目录。(每次执行都要吧上一次的output删除,测试过应该是底层写死的无法修改)

图55:关闭hdfs

在终端输入./sbin/stop-dfs.sh停止执行hdfs。

七、HDFS常用命令

(1)功能:显示 指定的文件的详细信息。

hadoop fs -1s 。

(2)功能:1s 命令的递归版本。

hadoop fs -1s -R 。

(3)功能:将 指定的文件的内容输出到标准输出 (stdout )。

hadoop fs -cat 。

(4)功能:将 指定的文件所属的组改为group,使用-R对 指定的文件夹内的文件进行递归操作。这个命令只适用于超级用户。

hadoop fs -chgrp [-RJgroup 。

(5)功能:改变 指定的文件所有者,-R 用于递归改交文件夹内的文件所有者。这个命令只适用于超级用户。

hadoop fs-chown [-R] [owner][ :[group]] 。

(6)功能:将 指定的文件的权限更改为。这个命令只适用于超级用户和文件所有者。

hadoop fs -chmod [- R] 。

(7)功能:将 指定的文件最后 1KB 的内容输出到标准输出 (stdout)上,一f选项用于持续检测新添加到文件中的内容。

hadoop fs -tail [-f] 。

(8)功能:以指定的格式返回 指定的文件的相关信息。当不指定format 的时候,返回文件 的创建日期。

hadoop fs -stat [format] 。

(9)功能:创建一个 指定的空文件。

hadoop fs -touchz 。

(10)功能:创建指定的一个或多个文件夹,-p选项用于递归创建子文件夹。

hadoop fs -mkdir [-p] 。

(11)功能:将本地源文件复制到路径指定的文件或文件夹中。

hadoop fs -copy FromLocal 。

(12)功能:将日标文件复制到本地文件或文件夾中,可用-ignorearc 选项复制CRC

校验失败的文件,使用-crc选项复制文件以及 CRC信息。

hadoop ts -copyToLocal [-ignorecrc][-crc] 。

(13)功能:将文件从源路径复制到日标路径。

hadoop fs -cp 。

(14)功能:显示 指定的文件或文件夾中所有文件的大小。

hadoop fs -du 。

(15)功能:清空回收站.

hadoop fs -expunge。

(16)功能:复制指定的文件到本地文件系统-指定的文件或文件夹,可用-ignorecrc 选项复制 CRC

校验失败的文件,使用-crc 选项复制文件以及 CRC信息。

hadoop fs-get [ignorecrc] [-crc] 。

(17)功能:对指定的源目录中的所有文件进行合并,写入指定的本地文件。-nl

是可选的,用于指定在每个文件结尾添加一个换行符。

hadoop fs -getmerge [-nl] 。

(18)功能:以本地文件系统中复制<1ocalsrc>指定的单个或多个源文件到指定的目标文件系统中,也支持从标准输人(stdin

)中读取输人并写人目标文件系统。

hadoop fs-put 。

(19)功能:与put 命令功能相同,但是文件上传结束后会从本地文件系统中删除指定的文件。

hadoop fs-moveFromLocal 。

(20)功能:将文件从源路径移动到目标路径

hadoop fs -mv 。

(21)功能:删除 指定的文件,只删除非室日录和文件。

hardoop 1s -rm 。

(22)功能:除 指定的文什实及其下的所有文件,-r选项表示删除子目录。

hadop fs -rm -r 。

(23)功能:改变 指定的文件的副本系数,-R 选项用于递归政变目录下所有文件的副本系数。

hadoop fs-setrep [-R] 。

(24)功能:检查 指定的文什或文件夾的相关信息。不同选项的作用如下。

hadoop fs -test -[ezd] 。 ①-e检查文件是否存在,如果存在则返回0,否则返回 1。 ②-z检查文件是否是 0字节,如果是则返回 0,否则返回1。 ③ -d如果路径是个日录,则返回1,否则返回 0。

(25)功能:将 指定的文什输出为文木格式,文件的格式世允许是zip和TextRecordinputStream 等

hadoop ts -text 。

(26)查看帮助

hdfs dfs -help

(27)查看当前目录信息

hdfs dfs -ls /

(28)上传文件

hdfs dfs -put /本地路径 /hdfs路径

(29)剪切文件

hdfs dfs -moveFromLocal a.txt /aa.txt

(30)下载文件到本地

hdfs dfs -get /hdfs路径 /本地路径

(31)合并下载

hdfs dfs -getmerge /hdfs路径文件夹 /合并后的文件

(32)创建文件夹

hdfs dfs -mkdir /hello

(33)创建多级文件夹

hdfs dfs -mkdir -p /hello/world

(34)移动hdfs文件

hdfs dfs -mv /hdfs路径 /hdfs路径

(35)复制hdfs文件

hdfs dfs -cp /hdfs路径 /hdfs路径

(36)删除hdfs文件

hdfs dfs -rm /aa.txt

(37)删除hdfs文件夹

hdfs dfs -rm -r /hello

(38)查看hdfs中的文件

hdfs dfs -cat /文件

hdfs dfs -tail -f /文件

(39)查看文件夹中有多少个文件

hdfs dfs -count /文件夹

(40)查看hdfs的总空间

hdfs dfs -df /

hdfs dfs -df -h /

(41)修改副本数

hdfs dfs -setrep 1 /a.txt

八、HDFS实验之通过JAVA-API访问HDFS

1、Hadoop用户下进入Ubuntu

图56:Hadoop用户下进入Ubuntu

2、把eclipse拖到/home/hadoop/Downloads下

图57:把eclipse拖到/home/hadoop/Downloads下

3、检查一下是不是整个Ubuntu都在hadoop用户下,是的话,解压到/uer/local

图58:确认是在hadoop用户下

在终端输入whoami,当出现hadoop表示现在是在hadoop用户下进行的操作(确保后面的操作能正常进行)。

进入Downloads查询当前文件夹所有文件,看eclipse安装包是否存在。

图59:解压eclipse安装包

在终端输入sudo tar -zxvf ./eclipse-4.7.0-linux.tar.gz -C /usr/local解压eclipse安装包。

图60:解压eclipse安装包完成

4、cd到解压后的文件夹/usr/local/eclipse,启动eclipse(启动指令./eclipse)

图61:检查解压情况

在终端cd到文件夹/usr/local内,查看是否有eclipse文件夹,如果有则解压成功。

图62:启动eclipse

在终端输入启动指令./eclipse启动eclipse。

5、默认workspace(这里必须是Hadoop用户下,如果是个人用户名下,就代表前面错误,你不是在Hadoop下完成的操作,会显示没有java路径)

图63:默认workspace

默认workspace点击launch进入下一步。

6、启动成功

图64:启动eclipse成功

7、新建工程后选择java project,然后next

图65:新建工程

8、输入工程名称,其他默认即可,然后点击next

图66:输入新建的工程名称

9、点击libraries,添加jar包,添加完成后点击finish

图67:添加jar包

图68:添加jar包

选择add external jars进行添加jar包。

图69:添加jar包

图70:添加jar包

图71:添加第一个路径的jar包

注意路径,一般进来会直接选中第一个文件夹,这个时候需要取消选中在选择需要的jar包。

图72:添加第一个路径的jar包成功

图73:添加第二个路径的jar包

图74:添加第三个路径的jar包

图75:添加第四个路径的jar包

图76:4个路径的jar包添加完成

10、出现如下框点击open perspective

图77:点击open perspective

11、右键→New→class

图78:右键→New→class

12、右键→New→class

图79:给新建class起名

13、创建成功后出现如下界面,输入案例代码

图80:创建成功

图81:输入案例代码

图82:运行主程序

图83:出现报错

运行主程序后报错,说明程序有问题,经过检查发现需要改代码以及放入文件。

图84:将7个文件复制到hadoop的Downloads内

图85:启动hdfs

在终端输入./sbin/start-dfs.sh启动hsfd。

图86:将file1.txt上传到分布式文件系统

在终端输入bin/hdfs dfs -put /home/hadoop/Downloads/file.txt input将file1.txt上传到分布式文件系统.(bin/hdfs dfs是指令前缀,-put是命令,/home/hadoop/Downloads/file.txt是源,input是目标。)

通过bin/hdfs dfs -ls input查看刚刚是否成功将file1.txt上传到分布式文件系统。

图87:将剩下的6个文件上传到分布式文件系统

重复刚刚的指令,将源改成对应的文件名,将file2.txt,file3.txt,file4.txt,file5.txt,file4.abc,file5.abc六个文件上传到分布式文件系统。

图88:查看是否成功将文件上传到分布式文件系统

通过bin/hdfs dfs -ls input查看是否成功将文件上传到分布式文件系统。

图89:打开eclipse

cd到/usr/local/eclipse,通过指令./eclipse启动eclipse(注意要在启动hdfs后再启动eclipse)。

图90:修改程序并运行

经过检查代码,我发现在主函数里面的第二行"hdfs://localhost:9000/user/hadoop/"的后面少了input,加上input后运行程序便能出现输出文件的结果,但是有个问题出现,输出的只过滤掉了.abc文件,还有.xml文件没有过滤掉。

图91:对程序进行理解

通过对于代码的了解,我知道了PathFilter 接口里面的accept方法可以过滤掉文件名满足特定条件的文件。以及可以通过FileStatus[] sourceStatus = fsSource.listStatus(inputPath,new MyPathFilter(“.*\.abc”)); 来过滤掉输入目录中后缀为.abc的文件。

图92:修改程序并输出所需结果

我将PathFilter 接口里面的accept方法进行了修改,把false与true的位置进行了替换,使得方法的用处不在是可以过滤掉文件名满足特定条件的文件,而是可以过滤掉除了特定条件的其他文件,也就是说只输出所需要的文件。

最后通过FileStatus[] sourceStatus = fsSource.listStatus(inputPath,new MyPathFilter(“.*\.txt”));只输出hdfs://localhost:9000/user/hadoop/input里面所有.txt结尾的文件。入图92所示输出了所需要的结果。

图93:关闭hdfs

关闭eclipse后,在终端输入./sbin/stop-dfs.sh关闭hdfs。


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
21天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
56 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
1月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
95 1
|
12天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
12天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
1月前
|
机器学习/深度学习 监控 搜索推荐
电商平台如何精准抓住你的心?揭秘大数据背后的神秘推荐系统!
【10月更文挑战第12天】在信息爆炸时代,数据驱动决策成为企业优化决策的关键方法。本文以某大型电商平台的商品推荐系统为例,介绍其通过收集用户行为数据,经过预处理、特征工程、模型选择与训练、评估优化及部署监控等步骤,实现个性化商品推荐,提升用户体验和销售额的过程。
79 1
|
1月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
41 3
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
77 4
|
30天前
|
Oracle 大数据 数据挖掘
企业内训|大数据产品运营实战培训-某电信运营商大数据产品研发中心
本课程是TsingtaoAI专为某电信运营商的大数据产品研发中心的产品支撑组设计,旨在深入探讨大数据在电信运营商领域的应用与运营策略。通过密集的培训,从数据的本质与价值出发,系统解析大数据工具和技术的最新进展,深入剖析行业内外的实践案例。课程涵盖如何理解和评估数据、如何有效运用大数据技术、以及如何在不同业务场景中实现数据的价值转化。
39 0
|
3月前
|
数据采集 人工智能 安全
AI大数据处理与分析实战--体育问卷分析
本文是关于使用AI进行大数据处理与分析的实战案例,详细记录了对深圳市义务教育阶段学校“每天一节体育课”网络问卷的分析过程,包括数据概览、交互Prompt、代码处理、年级和学校维度的深入分析,以及通过AI工具辅助得出的分析结果和结论。
|
3月前
|
大数据 API 数据处理
揭秘!Flink如何从默默无闻到大数据界的璀璨明星?起源、设计理念与实战秘籍大公开!
【8月更文挑战第24天】Apache Flink是一款源自Stratosphere项目的开源流处理框架,由柏林理工大学等机构于2010至2014年间开发,并于2014年捐赠给Apache软件基金会。Flink设计之初即聚焦于提供统一的数据处理模型,支持事件时间处理、精确一次状态一致性等特性,实现了流批一体化处理。其核心优势包括高吞吐量、低延迟及强大的容错机制。
64 1
下一篇
无影云桌面