案例:HDFS分布式文件系统

Hadoop是apache软件基金会的开源分布式计算平台hadoop集群包括两种角色Mater和Slave。一个HDFS集群由一个运行于Master上的NameNode和若干个运行于Slave节点的DataNode组成。NameNode负责管理文件系统命名空间和客户端对文件系统的访问操作;DataNode管理存储的数据。文件以块形式在DataNode中存储,假如一个块大小设置为50MB,块的副本数为3(通过设置块的副本数来达到冗余效果,防止单个DataNode磁盘故障后数据丢失),一个40MB的文件将被存储在一个块中,然后将相同的3个块存储在3个DataNode中实现冗余。大文件将被切成小块存储。

一、实验要求及目的

搭建hadoop的HDFS,通过DataNode节点的添加与删除实现HDFS空间动态增加与减少,以及HDFS文件系统的基本管理。

二、实验环境

三、实验步骤

1、准备环境

1)master、slave1-3上配置域名解析与主机名

192.168.0.11主机:

192.168.0.12主机:

192.168.0.13主机:

2)JDK安装

3)添加hadoop运行用户

在slave1-slave3上重复步骤2)和步骤3),这里就不在截图。

2、配置SSH密钥对

要求master免密码登录各slave,用于开启相应服务。

Master无密码连接slave,先切换hadoop用户,用ssh-keygen按照默认配置直接按Enter键生成密钥对,通过ssh-copy-id将公钥复制至3个slave主机中,复制过程需要输入slave主机的hadoop用户密码,作用是master远程启动slave。

3、安装hadoop,在master和slave上配置环境变量。

1)安装hadoop

2)配置环境变量

执行source /etc/profile

3)配置hadoop

每个slave主机重复步骤1)和步骤2)(即它们也需要安装hadoop并设置环境变量),等前两步完成了再由master通过SSH安全通道把刚才配置的6个文件复制给每个slave。

每个slave主机上重复1)和2)步骤的截图这里省略,请参考上面去做,命令全部一样

4、使用HDFS初始化master

1)格式化HDFS文件系统

2)检查新生成的目录

3)启动hadoop群集(开机hadoop的冗余功能)

启停hadoopde的管理命令位于$HADOOP_HOME/sbin下,以start-*或stop-*开头;单独启动HDFS分布式文件系统可使用start-dfs.sh,也可以使用以下命令启动整个hadoop集群。

4)验证访问

通过浏览器查看NameNode,即master,访问http://192.168.0.10:50070,可以查看视图统计信息和HDFS存储信息等。

验证之前先关闭master和所有slave的防火墙

5)hadoop基本命令

使用“hadoop fs”命令可以结合普通的文件管理命令实现很多操作,如查看、修改权限、统计、获取帮助、创建、删除、上传下载文件等,更多的用法可使用“hadoop fs -help”或“hadoop fs -usage”命令查看。

6)HDFS高级命令

⑴开机安全模式

⑵复制

①将本地文件复制到HDFS上(注意不要在安全模式下)

②将HDFS上的文件复制到本地

⑶权限和归属

①修改属组

②修改权限

③修改所有者

⑷统计显示目录中文件大小

⑸合并文件

5、为HDFS集群添加节点

⑴slave4节点安装jdk与hadoop,配置环境变量

⑵配置/etc/hosts解析,NameNode与4台DataNode都要配置

⑶配置ssh无密码连接

⑷在master上修改hadoop配置后,复制到其他节点

⑸新节点启动并平衡节点已经存储的数据

在slave4上

su - hadoop

之后执行下面的命令

⑹查看集群信息

6、删除DataNode节点

⑴增加exclude配置,作用为存放要删除的DataNode信息。

⑵检查slave4的进程

⑶查看集群信息

原文发布于微信公众号 - L宝宝聊IT(gh_b0e552aa80db)

原文发表时间:2018-04-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

使用process_monitor.sh监控hadoop进程的crontab配置

可以从下列链接找到process_monitor.sh: https://github.com/eyjian/mooon/blob/master/commo...

1212
来自专栏AILearning

Apache Zeppelin 中 HDFS文件系统 解释器

概述 Hadoop文件系统是hadoop项目的分布式,容错文件系统的一部分,通常用作Hadoop MapReduce和Apache Spark或Allux...

2645
来自专栏行者悟空

Hadoop 2.x 伪分布式环境搭建

1242
来自专栏Hadoop实操

如何卸载CDH(附一键卸载github源码)

本文档将介绍Cloudera Manager与CDH的卸载,并基于CDH使用parcels安装且未配置安全(AD/LDAP, Kerberos, Data En...

5506
来自专栏Hadoop实操

如何使用Cloudera Manager设置使用YARN队列的ACL

7607
来自专栏大数据

在Ubuntu上启动并运行Hadoop

Hadoop是一个用Java编写的框架,它允许在大型商品硬件集群上以分布式方式处理大型数据集。

2271
来自专栏Hadoop实操

如何在不重启Yarn服务的情况下启用DEBUG日志记录

为了解决Yarn问题,需要为不同的服务启用调试。但是,在生产集群中,可能无法立即重启Yarn服务。本篇文章Fayson主要介绍如何在不重启Yarn服务的情况下为...

1525
来自专栏Hadoop实操

如何在CDSW上调试失败或卡住的Spark应用

默认情况下,CDSW会话中的Spark应用程序只显示ERROR级别的日志,当作业出现异常或卡住时无法查看作业运行详细日志及异常堆栈信息,不能根据日志的上下文正确...

1513
来自专栏Hadoop实操

Impala动态资源池及放置规则使用

Fayson在前面的文章介绍了《如何启用Impala的动态资源池》。管理员可以通过Impala的动态资源池、放置规则及ACL控制不同的用户对Impala资源使用...

4114
来自专栏我爱编程

搭建Hadoop伪分布式环境

安装SSH: sudo yum install opensh-clients openssh-server 安装完成后,可以使用下面命令进行测试: ssh...

3453

扫码关注云+社区

领取腾讯云代金券