Hadoop的学习

一、什么是Hadoop?

  • Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,
    为用户提供了系统底层细节透明的分布式基础架构
  • Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且
    可以部署在廉价的计算机集群中
  • Hadoop被公认为行业大数据标准开源软件,在分布式环境下提
    供了海量数据的处理能力
  • 几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商
    业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,
    都支持Hadoop

二、hadoop的特征

  1. 高可靠性
  2. 高效性
  3. 高可扩展性
  4. 成本低
  5. 运行在linux系统上,支持多种编程语言:java,python,scala
  6. 可迁移性强

三、hadoop框架架构

Hadoop整体结构
底层由hdfs作为分布式的文件管理系统,使用yarn进行资源调度管理,计算框架包含MapReduce、Spark等,数据库多用于Hbase,整个框架也可以用在Flume和其他平台上进行综合开发。
hadoop架构
hadoop官方网站:hadoop
在这里插入图片描述
在官方网站上可以直接下载hadoop平台。

四、Hadoop的安装和使用

1.hadoop的安装方式:

  1. 单机模式:Hadoop 默认模式为非分布式模式(本地模式),无需
    进行其他配置即可运行,非分布式即单 Java 进程,方便进行调试运行。
  2. 伪分布模式:hadoop可以在单节点上以伪分布式的方式运行,hadoop进程以分离的java进程来运行,节点既作为NameNode也作为DataNode,同时读取的也是hdfs上的文件。
  3. 分布式模式:使用多个节点构成集群环境来运行hadoop,可以使用多个虚拟机在一台电脑上模拟分布式模式,也可以用多台电脑组成一个物理上的集群运行hadoop。

2.hadoop的安装步骤

  1. 安装Virtural Box
  2. 安装Ubuntu
  3. 创建Hadoop用户
  4. SSH登录权限设置
  5. 安装Java环境
  6. 单机安装配置
  7. 伪分布式安装配置

下面给出各种方式下的搭建步骤:

  • 单机安装配置:
    (1) 首先下载hadoop的.gz文件到/usr/local中
    (2) 解压该文件到该文件夹,并给这个文件夹赋予权限:
$ sudo tar -zxvf ~/下载/hadoop-x.x.x.tar.gz -C /usr/local 
$cd /usr/local/
$sudo mv ./hadoop-x.x.x/ ./hadoop # 将文件夹名改为hadoop
$sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限

hadoop解压后查看是否能够使用

$ cd /usr/local/hadoop
$./bin/hadoop version

如果可以使用,则会显示hadoop的版本信息,因为hadoop的默认运行就是为非分布式模式(本地模式),无需配置就可以运行。

  • 伪分布式安装配置:
    (1)Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分
    离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,
    同时,读取的是 HDFS 中的文件。
    (2)Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式
    需要修改2个配置文件 core-site.xml 和 hdfs-site.xml
    (3)Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name
    和 value 的方式来实现。

1.修改配置文件 core-site.xml:

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/usr/local/hadoop/tmp</value>
	<description>Abase for other temporary directories.					  </description>
	</property>
	<property>
		<name>fs.defaultFS</name>
			<value>hdfs://localhost:9000</value>
	</property>
</configuration>

hadoop.tmp.dir 是表示临时存储的数据目录,即包括NameNode的数据和DataNode的数据。注意:一定要存在这个文件
name为fs.defaultFs的值表示hdfs的逻辑位置,就是hdfs的url。

2.修改配置文件 hdfs-site.xml

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/usr/local/hadoop/tmp/dfs/data</value>
	</property>
</configuration>

dfs.replication表示副本的数量,伪分布式就设为1就可以了,因为只有一台主机;
dfs.namenode.name.dir表示本地磁盘的目录,是存储fsimage文件的地方;
dfs.datanode.data.dir表示本地磁盘目录,HDFS存储block块的地方。

hadoop组件详情

五、hadoop集群的节点类型

1.hadoop中最核心的设计是为海量数据提供存储的hdfs和对数据进行计算的MapReduce;

2.MapReduce的作业主要包含:

(1)从磁盘或从网络中读取数据;
(2)计算数据

3.hadoop的整体性能取决于cpu、内存、网络以及存储之间的性能平衡。

4.主要的节点类型:

  1. NameNode:负责协调集群中的数据存储;
  2. DataNode:存储被拆分的数据块;
  3. JobTracker:协调数据计算任务;
  4. TaskTracher:负责执行JobTracker指派的任务;
  5. SecondaryNameNode:帮助NameNode收集文件系统运行的状态,类似于班级的班长,为老师分担压力。

好了,今天的hadoop学习就到这里!

当你的才华还撑不起你的野心的时候,
你就应该静下心来学习;
当你的能力还驾驭不了你的目标时,
就应该沉下心来,历练.
发布了65 篇原创文章 · 获赞 29 · 访问量 6511

猜你喜欢

转载自blog.csdn.net/qq_41617848/article/details/103258694