Hadoop(1)——理论简介

2019-05-29 22:32:24 浏览数 (1)

Hadoop简介

官方地址:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html

Hadoop是一个开源的大数据框架,Hadoop是一个分布式计算的解决方案,Hadoop=HDFS(分布式文件系统) MapReduce(分布式计算)

HDFS分布式文件系统

存储是大数据技术的基础 (1)数据块 数据块是抽象块而非整个文件作为存储单位,默认大小为64M,一般设置为128M,备份x3 (2)NameNode管理文件系统的命名空间,存放文件元数据,维护着文件系统的所有文件和目录,文件与数据块的映射,记录每个文件中各个数据块所在数据节点的信息 (3)DataNode 存储并检索数据块,向NameNode更新所存储块的列表。

HDFS写流程

客户端向NameNode发起写数据请求,分块写入DataNode节点,DataNode自动完成副本备份,DataNode向NameNode汇报存储完成,NameNode通知客户端

HDFS读流程
MapReduce分布式计算
Linux安装Hadoop

下载hadoop二进制文件https://hadoop.apache.org/releases.html 选择2.8.5版本

代码语言:javascript复制
 #cd /usr
 #mkdir hadoop
 #cd hadoop
 #wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
 #tar  -zxvf hadoop-2.8.5.tar.gz

.设置环境变量,全局(/etc/profile)

代码语言:javascript复制
#vim /etc/profile
    设置HADOOP_HOME,并加到PATH路径下
    HADOOP_HOME=/usr/hadoop/hadoop-2.8.5
    PATH=$PATH:$HADOOP_HOME/bin
#source /etc/profile
资源调度系统YARN

YARN:Yet Another Resource Negotiator 负责真个集群资源的管理和调度 特点:扩张性&容错性&多框架资源统一调度

分布式计算框架MapReduce

特点:扩展性&容错性&海量数据离线处理

配置免秘钥
代码语言:javascript复制
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:icd5LP dOdX40Av4MY o E8XWyfpQDVPuJ5p7WfWKWk root@VM_0_11_centos
The key's randomart image is:
 ---[RSA 2048]---- 
|              o..|
|             ..  |
|            .  ..|
|       o   .  .. |
|      . S o oooBo|
|       .   . *@.*|
|          ..o O= |
|        . .o.E.*B|
|       ..oo.o = .|
 ----[SHA256]----- 

配置Java

代码语言:javascript复制
# vim ~/.bash_profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
# source ~/.bash_profile

下载hadoop的hdc版本 下载地址http://archive.cloudera.com/cdh5/cdh/5/

代码语言:javascript复制
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

配置hadoop的Java环境

代码语言:javascript复制
# cd ~//hadoop/etc/hadoop
# vim hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre

配置/etc/core-site.xml

代码语言:javascript复制
<configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:8020/</value>
</property>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/root/hadoop/tmp</value>
  <description>存放hadoop文件系统依赖的基本配置</description>
 </property>
</configuration>

配置/etc/hdfs-site.xml

代码语言:javascript复制
<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
        <description>设置副本数</description>
</property>
</configuration>
启动hdfs

格式化文件系统 这个只需要第一次执行即可,不要重复执行,在心hadoop 下执行

代码语言:javascript复制
./hdfs namenode format
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.
验证启动结果
代码语言:javascript复制
sh ~/hadoop/sbin/start-dfs.sh

在浏览器输入http://localhost:50070/

0 人点赞