一、hadoop知识点
1. 理解Hadoop的基本概念
Hadoop是一个开源的分布式计算框架,主要用于处理大规模数据集的存储和分析。它允许数据被分布在多个节点上,从而实现高性能的数据处理能力。Hadoop的核心组件包括Hadoop Distributed File System(HDFS)和MapReduce编程模型4。
2. 学习Hadoop的架构
Hadoop的架构包括HDFS、MapReduce和Yet Another Resource Negotiator (YARN)。HDFS负责数据的分布式存储,MapReduce负责数据的分布式处理,而YARN负责资源管理和任务调度5。
3. 掌握Hadoop的运行模式
Hadoop有几种运行模式,包括单机模式、伪分布式模式和完全分布式模式。单机模式适合学习和调试,伪分布式模式在单一机器上模拟分布式环境,而完全分布式模式则涉及多节点集群,实现真实的分布式计算和存储。
4. 学习Hadoop的安装和配置
学习如何在Linux系统上安装Hadoop,并配置必要的环境变量和配置文件,如hadoop-env.sh
、core-site.xml
、hdfs-site.xml
和yarn-site.xml
等5。
5. 实践Hadoop的操作
通过实际操作来熟悉Hadoop的使用,包括使用HDFS进行文件管理,编写和运行MapReduce程序,以及使用Hadoop的命令行工具和Web界面进行集群管理和监控5。
6. 了解Hadoop生态系统
Hadoop生态系统包括许多工具和框架,如Hive、HBase、Pig、Spark等。这些工具可以帮助更方便地处理和分析数据,扩大Hadoop的应用范围4。
7. 学习Hadoop的高级主题
随着对Hadoop基础知识的掌握,可以进一步学习Hadoop的高级主题,如Hadoop的高可用性、安全性、性能优化等5。
8. 参与实战项目
通过参与实际的Hadoop项目,可以将理论知识应用到实践中,提高解决实际问题的能力。
以上是Hadoop初学者应该掌握的一些基本知识点。学习Hadoop是一个循序渐进的过程,建议从基础开始,逐步深入,并结合实际操作和项目经验来提升技能。
二、hadoop在linux的使用
- 创建Hadoop用户:创建一个专门用于运行Hadoop的用户账户,例如
hadoop
。 - 安装Java环境:Hadoop是用Java编写的,因此需要安装Java开发工具包(JDK)。
- 安装Hadoop:从Apache Hadoop官方网站下载Hadoop的压缩包,并解压到指定目录。
- 配置环境变量:设置
HADOOP_HOME
环境变量,并将Hadoop的bin
和sbin
目录添加到系统的PATH
环境变量中。 - 配置Hadoop配置文件:编辑
hadoop-env.sh
、core-site.xml
、hdfs-site.xml
等配置文件,以适应你的系统环境和需求。 - 启动Hadoop:使用
start-dfs.sh
和start-yarn.sh
脚本来启动Hadoop的HDFS和YARN服务。 - 验证安装:使用
jps
命令检查Hadoop守护进程是否正在运行,使用Web浏览器访问Hadoop的Web界面来验证安装。
三、hadoop在VMware的使用
-
准备工作:
- 确保您的物理计算机支持虚拟化技术,并在BIOS中启用虚拟化功能。
- 下载VMware软件并安装到您的物理计算机上。
- 准备一个Linux操作系统的ISO镜像文件,例如Ubuntu或CentOS。
-
创建虚拟机:
- 打开VMware,选择创建新的虚拟机。
- 选择安装类型为自定义(稍后安装操作系统),操作系统选择Linux,版本为您选择的Linux发行版。
- 设置虚拟机的硬件配置,例如分配至少2GB的内存和20GB的硬盘空间。
- 在设置中选择CD/DVD驱动器,使用ISO映像文件,并浏览选择您的Linux镜像文件。
- 启动虚拟机并按照提示安装Linux操作系统,选择合适的语言、时区、键盘布局等,并设置用户名和密码。
-
安装Hadoop:
- 安装SSH服务,以便于远程管理和免密登录。
- 安装Java Development Kit (JDK),因为Hadoop依赖于Java。
- 下载Hadoop的压缩包,并解压到适当的目录,例如
/usr/local
。 - 配置Hadoop的环境变量,例如在
.bashrc
或.profile
文件中设置JAVA_HOME
和PATH
。 - 配置Hadoop的配置文件,包括
core-site.xml
,hdfs-site.xml
,mapred-site.xml
, 和yarn-site.xml
,以符合您的集群配置。
-
格式化Hadoop文件系统:
- 使用Hadoop提供的命令
hdfs namenode -format
来初始化NameNode的文件系统。
- 使用Hadoop提供的命令
-
启动Hadoop服务:
- 使用Hadoop提供的脚本
start-dfs.sh
来启动Hadoop的分布式文件系统。 - 使用
jps
命令来检查Hadoop服务是否正在运行。
- 使用Hadoop提供的脚本
-
验证Hadoop安装:
- 使用Hadoop提供的命令
hadoop version
来验证Hadoop是否已正确安装。 - 尝试运行一些示例任务,例如WordCount,以确保Hadoop集群能够正常工作。
- 使用Hadoop提供的命令
四、hadoop的常用命令
文件操作命令
hadoop fs -ls [文件目录]
:列出指定目录下的内容。hadoop fs -cat [file_path]
:显示指定文件的内容。hadoop fs -put [本地地址] [Hadoop目录]
:将本地文件存储至Hadoop。hadoop fs -get [文件目录] [本地目录]
:将Hadoop上的文件down至本地已有目录。hadoop fs -rm [文件地址]
:删除Hadoop上指定的文件或文件夹。hadoop fs -mkdir [目录地址]
:在Hadoop指定目录内创建新目录。hadoop fs -rmdir [目录地址]
:删除Hadoop上的空目录。hadoop fs -mv [源文件] [目标文件]
:将Hadoop上的文件重命名。hadoop fs -cp [源路径] [目标路径]
:从HDFS的一个路径拷贝到HDFS的另一个路径。hadoop fs -tail [文件路径]
:显示一个文件的末尾部分。hadoop fs -rmr
:递归删除HDFS中的目录及其内容。hdfs dfs -mkdir
:在HDFS上创建目录。hdfs dfs -put
:从本地文件系统向HDFS上传文件。hdfs dfs -get
:从HDFS下载文件到本地文件系统。hdfs dfs -cat
:查看HDFS中的文件内容。hdfs dfs -cp
:在HDFS内部复制文件。hdfs dfs -rm
:删除HDFS中的文件或目录。hdfs dfsadmin -setQuota
:设置HDFS目录的配额限制。hdfs dfsadmin -clrQuota
:清除HDFS目录的配额限制。hdfs dfsadmin -setSpaceQuota
:设置HDFS目录的空间配额限制。hdfs dfsadmin -clrSpaceQuota
:清除HDFS目录的空间配额限制。
文件系统管理命令
hadoop fs -du [路径]
:统计文件夹的大小信息。hadoop fs -chgrp [组名] [路径]
:改变文件或目录的所属组。hadoop fs -chmod [权限] [路径]
:改变文件或目录的权限。hadoop fs -chown [所有者] [路径]
:改变文件或目录的所有者。
集群管理命令
start-dfs.sh
:启动Hadoop分布式文件系统。stop-dfs.sh
:停止Hadoop分布式文件系统。start-yarn.sh
:启动YARN资源管理器和节点管理器。stop-yarn.sh
:停止YARN资源管理器和节点管理器。start-all.sh
:同时启动Hadoop分布式文件系统和YARN。stop-all.sh
:同时停止Hadoop分布式文件系统和YARN。
启动和停止Hadoop服务
hadoop-daemon.sh start namenode
:在namenode节点上启动NameNode服务。hadoop-daemon.sh stop namenode
:在namenode节点上停止NameNode服务。hadoop-daemon.sh start datanode
:在所有DataNode节点上启动DataNode服务。hadoop-daemon.sh stop datanode
:在所有DataNode节点上停止DataNode服务。
YARN作业管理
yarn application -list
:列出正在运行的YARN应用程序。yarn application -kill <application_id>
:终止指定ID的YARN应用程序。yarn-daemon.sh start resourcemanager
:在ResourceManager节点上启动ResourceManager服务。yarn-daemon.sh stop resourcemanager
:在ResourceManager节点上停止ResourceManager服务。yarn-daemon.sh start nodemanager
:在所有NodeManager节点上启动NodeManager服务。yarn-daemon.sh stop nodemanager
:在所有NodeManager节点上停止NodeManager服务。
集群健康检查
hadoop dfsadmin -report
:报告HDFS集群的健康状况。yarn node -status
:报告YARN集群中每个节点的状态。
安全模式操作
hdfs dfsadmin -safemode
:查看HDFS是否处于安全模式。hdfs dfsadmin -safemode enter
:使HDFS进入安全模式。hdfs dfsadmin -safemode leave
:使HDFS离开安全模式。
配置文件编辑
vi /etc/hadoop/conf/core-site.xml
:编辑Hadoop核心配置文件。vi /etc/hadoop/conf/hdfs-site.xml
:编辑HadoopHDFS配置文件。vi /etc/hadoop/conf/mapred-site.xml
:编辑HadoopMapReduce配置文件。
其他常用命令
jps
:查看Java进程,用于确认Hadoop相关服务是否正常运行。hdfs dfs -count
:计算HDFS中的文件数。hdfs dfs -du
:显示HDFS中的磁盘使用量hdfs dfsadmin -report
:查看集群的健康状况和节点存活率。hdfs dfsadmin -safemode
:查看HDFS是否处于安全模式。