初识Hadoop
分别从选择题、大题和复习Linux命令来复习
选择题
问题 1 单项选择难度级别 3 2 分
下面哪一个不属于Google的三驾马车?
答案选项组
GFS
NDFS
BigTable
MapReduce
问题 2 单项选择难度级别 3 2 分
Hadoop 3.x版本支持最低的JDK版本是( )
答案选项组
JDK 6
JDK 8
JDK 9
JDK 7
问题 3 多项选择难度级别 3 2 分
Hadoop的缺点有哪些
答案选项组
不适合处理小文件
只适合处理离线数据计算
属于低延迟
可处理流处理的计算
安全性低
问题 4 单项选择难度级别 3 2 分
hadoop是什么语言开源实现的
答案选项组
Python
Scala
C语言
Java
问题 5 多项选择难度级别 3 2 分
大数据的优点有哪些?
答案选项组
高可靠性
高容错性
高扩展性
高效率
低成本
大题
举例说明Hadoop生态系统中的开源大数据项目(至少五个)
数据处理与计算类
-
Apache Pig :提供了高层次的数据流语言和执行框架,用于在 Hadoop 集群上进行并行计算。其脚本语言 Pig Latin 使用户能够轻松地实现数据分析任务和构建复杂的工作流,适合处理大规模数据集。
-
Apache Hive :是一个数据仓库解决方案,允许用户使用类似 SQL 的命令查询和分析大型数据集,还支持自定义 MapReduce 脚本,使数据处理和分析更加灵活。
-
Apache Spark :能够在 Hadoop 集群上快速执行内存中计算,适用于需要快速迭代和低延迟的应用场景,如机器学习算法实现等,可与 Hadoop 深度集成,充分利用 Hadoop 的存储和资源管理功能。
数据存储与管理类
-
Apache HBase :是一个分布式的非关系型数据库,构建在 Hadoop 之上,为结构化数据提供快速且可扩展的存储,支持随机读写操作,适合需要对海量数据进行实时访问的应用。
-
Apache Cassandra :虽然也可以独立于 Hadoop 使用,但可以与 Hadoop 结合,其设计初衷是为了处理大量数据,提供高可扩展性和高可用性。
数据采集与传输类
-
Apache Sqoop :主要用于在关系型数据库和 Hadoop 之间高效传输大量数据,能够快速地将数据导入导出,在数据迁移和集成过程中发挥重要作用。
-
Apache Flume :专为收集、聚合和移动大量日志数据而设计,适用于从分布式来源收集日志数据并将其传输到 Hadoop 集群进行进一步处理和分析。
-
Apache Kafka :是一个高吞吐量的分布式发布 - 订阅消息系统,能够实时处理流数据,在数据流的生成、传输和消费过程中提供高效的消息传递机制。
数据分析与挖掘类
-
Apache Mahout :是一个可扩展的机器学习和数据挖掘库,提供了多种聚类、分类和推荐任务的算法,利用 Hadoop 的分布式计算能力,能够处理大规模数据集。
-
Apache Drill :是一个开源的分布式 SQL 查询引擎,能够对多种数据格式和数据源进行查询,无需依赖底层数据存储的模式定义,支持灵活的数据分析和探索。
资源管理与调度类
- Apache YARN :是 Hadoop 的资源管理和任务调度框架,负责管理集群中的资源分配,以及调度运行在集群上的各类任务,使多个应用程序能够共享集群资源,提高资源利用率。
协调与治理类
-
Apache ZooKeeper :为分布式应用程序提供协调服务,包括配置管理、服务发现、分布式锁等功能,帮助解决分布式环境下的协调问题,确保分布式系统的一致性和可靠性。
-
Apache Ranger :提供了一个全面的安全框架,用于管理 Hadoop 集群中数据的安全和访问控制,能够集中管理和定义数据访问策略。
简述Hadoop的优点及其内容
成本效益高
-
开源免费 :Hadoop 是开源软件,用户可以免费使用和修改其源代码,无需支付昂贵的商业软件授权费用。
-
硬件要求低 :能够在普通商用服务器上运行,无需依赖高端的专用硬件设备,降低了硬件采购成本。
可扩展性强
- 横向扩展灵活 :通过简单地添加新的节点,即可实现水平扩展,能够轻松地处理 PB 级别甚至更大规模的数据,满足企业不断增长的数据处理需求。
高容错性
- 数据多副本备份 :HDFS 会自动将数据块在多个节点上进行复制保存,当某个节点出现故障时,系统可以从其他节点获取数据副本,确保数据的可用性和可靠性。
数据处理能力强
-
支持多种数据类型 :能够处理结构化、半结构化和非结构化等各种类型的数据,在处理复杂多样的大数据环境中具有很强的适应性。
-
分布式存储与计算 :采用分布式文件系统 HDFS 和分布式计算框架 MapReduce 等技术,将大规模数据集分散存储到多个节点,并在节点上并行地进行数据处理,大大提高了数据处理的效率和速度。
生态系统丰富
- 集成多种工具 :Hadoop 拥有庞大的生态系统,与众多开源大数据工具和框架无缝集成,如 Pig、Hive、Spark、HBase、Kafka 等,用户可以根据不同的业务需求选择合适的工具,构建灵活多样的大数据解决方案。
Linux命令
1、切换到目录/usr/bin;
cd /usr/bin
2、查看目录/usr/local下的所有的文件;
ls /usr/local
3、进入/home/ubuntu目录,创建一个名为test的目录,并查看有多少目录存在;
cd /home/ubuntu
mkdir test
ls -l | grep "^d" | wc -l
4、在/home/ubuntu下新建目录test1,再复制这个目录内容到/tmp;
cd /home/ubuntu
mkdir test1
cp -r test1 /tmp
5、将上面的/tmp/test1日录重命名为test2;
mv /tmp/test1 /tmp/test2
6、在/tmp/test2日录下新建word.txt文件并输入一些字符串;保存后退出;
cd /tmp/test2
vim word.txt
7、查看word.txt文件内容
cat /tmp/test2/word.txt
8、将word.txt文件所有者改为root 账号,并查看属性,
sudo chown root:root /tmp/test2/word.txt
ls -l /tmp/test2/word.txt
9、找出/tmp目录下文件名为test2的文件;
find /tmp -name test2
10、将在/home/ubuntu目录下打包成test.tar.gz;
cd /home/ubuntu
tar -czvf test.tar.gz .
11、将test.tar.gz解压缩到/tmp目录。
cd /tmp
tar -xzvf /home/ubuntu/test.tar.gz