欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

初识hadoop之分布式文件系统(HDFS)

程序员文章站 2023-11-18 14:22:10
Hadoop常用发行版: Apache Hadoop CDH Cloudera Distributed Hadoop HDP Hortonworks Data Platfrom 分布式文件系统(HDFS) HDFS架构 1个master(NameNode/NN)带n个slaves(DataNode/ ......

hadoop常用发行版:

apache hadoop

cdh  cloudera distributed hadoop

hdp  hortonworks data platfrom

分布式文件系统(hdfs)

hdfs架构

1个master(namenode/nn)带n个slaves(datanode/dn)

hdfs/yarn/hbase都是类似结构

一个文件会被拆分成多个block

blocksize:128m

130m ==> 2个block:128m和2m

nn:
1)负责客户端请求的响应

2)负责元数据(文件的名称、副本系数、block存放的dn)的管理

dn:

1)存储用户的文件对应的数据块(block)

2)要定期向nn发送心跳信息,汇报本身及其所有的block信息,健康状况

 

a typical deployment has a dedicated machine that runs only the namenode software. each of the other machines in the cluster runs one instance of the datanode software.

namenode + n个datanode

建议:nn和dn部署在不同的节点上

replication factor:副本系数、副本因子

 

hdfs环境搭建

使用版本:hadoop-2.6.0-cdh5.7.0

 

hadoop伪分布式安装步骤

1)  jdk安装

解压:tar –zxvf jdk-7u79-linux-x64.tar.gz –c ~/app

添加到系统环境变量:~/.bash_profile

export java_home=/home/hadoop/app/jdk1.7.0_79

eport path=$java_home/bin:$path

使得环境变量生效:source ~/.bash_profile

验证java是否配置成功:java –version

 

2)  安装ssh

sudo yum install ssh

ssh-keygen -t rsa

cp ~/.ssh/id_rsa.pub ~/.ssh/authorizes_keys

 

3)  下载并解压hadoop

下载:直接在cdh网站下载

解压:tar –zxvf hadoop-2.6.0-cdh5.7.0.tar.gz –c ~/app

 

4)  hadoop配置文件的修改(hadoop_home/etc/hadoop)

hadoop-evn.sh

export java_home=/home/hadoop/app/jdk1.7.0_79

 

  core-site.xml

       <property>

                <name>fs.defaultfs</name>

                <value>hdfs://hadoop000:8020</value>

       </property>

       <property>

                <name>hadoop.tmp.dir</name>

                <value>/home/hadoop/app/tmp</value>

        </property>

 

hdfs-site.xml

<property>

                <name>dfs.replication</name>

                <value>1</value>

        </property>

 

slaves(配置dn的个数)添加主机名称

 

5)  启动hfds

格式化文件系统(仅第一次执行即可,不要重复执行,在bin目录下执行,即在客户端执行):

hdfs namenode –format

启动hdfs:sbin/start-dfs.sh

 

验证是否启动成功:

jps

     datanode

     secondarynamenode

     namenode

浏览器访问方式:

 

6)  停止hdfs

sbin/stop-dfs.sh

 

将hadoop的bin目录配置到环境变量当中

vi ~/.bash_profile

export hadoop_home=/root/app/hadoop-2.6.0-cdh5.7.0

export path=$hadoop_home/bin:$path

 

环境变量生效:

source ~/.bash_profile

查看环境变量:

echo $hadoop_home

 

hdfs常用操作命令

hdfs dfs(hadoop fs)  +

-ls + / 查看根目录下的文件和文件夹

-mkdir + /test 在根目录下创建test文件夹

-put 文件名 + / 将文件上传到根目录当中(拷贝文件)

-copyfromlocal hello.txt + /test/a/b/h.txt 将文件拷贝到指定路径中

-text(-cat) + /文件名 查看文件的内容

-mkdir –p + /test/a/b 递归创建文件夹

-lsr + / 递归展示文件夹(-ls –r + /)

-get + /test/a/b/h.txt 将文件拷贝到本地

-rm + /hello.txt 删除文件

-rm + -r /test 删除文件夹