Hadoop常用发行版:

Apache Hadoop

CDH  Cloudera Distributed Hadoop

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

浏览器访问方式:http://hadoop000:50070

 

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 删除文件夹

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄