大数据处理架构Hadoop

it2023-08-08  79

大数据处理架构Hadoop

1.概述

1.1 Hadoop简介

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

1.2Hadoop发展简史

Hadoop源自于2002年的Apache Nutch开发的文本搜索库。2008年Hadoop打破世界纪录,成为最快排序1TB数据的系统。2009年5月,Hadoop更是把1TB数据排序时间缩短到62秒。从此名声大震。

1.3Hadoop的特性

Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是一种可靠、高校、可伸缩的方式进行处理的,它具有以下几个方面的特征:

高可靠性高效性高可扩展性高容错性成本低运行在Linux平台上支持多种编程语言

1.4Hadoop的应用现状

国外:Facebook等国内:百度、淘宝、网易、华为、中国移动等,其中,淘宝的Hadoop集群比较大Hadoop在企业中的应用架构

2.Hadoop项目结构

3.Hadoop的安装与使用(单机\伪分布式)

1.创建Hadoop用户

如果安装Ubantu的时候不是用的“Hadoop”用户,那么需要增加一个名为hadoop的用户

$ sudo useradd -m hadoop -s /bin/bash

设置密码

$ sudo passwd hadoop

为hadoop用户增加管理员权限,方便部署

$ sudo adduser hadoop sudu

2.SSH登录权限设置

SSH是什么?

SSH 为 Secure Shell 的缩写,是建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。 SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序

配置SSH的原因:

Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录它们

3. 安装JAVA环境

下载安装jdk

$ sudo apt-get install default-jre default-jdk

配置JAVA_HOME环境变量

$ sudo vim ~/.bashrc

在文件前面加上

export JAVA_HOME=/usr/lib/jvm/default-java

让环境变量生效

$ source ~/.bashrc

检验一下是否设置正确

$ echo $JAVA_HOME $ java -version

4.单机安装配置

官网下载 hadoop-2.x.y.tar.gz 这个格式的文件 Hadoop官网 包含src的则是Hadoop的源代码,需要进行编译才能使用

将下载的Hadoop压缩包解压到/usr/local/中: $ sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中 $ cd /usr/local/ $ sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop $ sudo chown -R hadoop ./hadoop # 修改文件权限

Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

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

5.伪分布式安装配置

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),中configuration中添加以下内容

<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-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> def.replication表示副本的数量,伪分布式要设置为1dfs.namenode.name.dir表示本地磁盘目录,是存储fsimage文件的地方dfs.datanode.data.dir表示本地磁盘目录,HDFS数据存放block的地方

启动完成后,可以通过命令 jps 来判断是否成功启动,出现下图这样的格式就代表配置成功 成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

最新回复(0)