项目案例:HDFS分布式文件系统
Hadoop的简介:
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文件系统的基本管理。
需要挂载hadoop光盘 hadoop.iso
将文件复制到脚本里的指定路径
脚本解释
安装完成,重启生效
验证
其他主机操作类似,需修改脚本的IP地址和主机名
slave-1配置
验证
slave-3配置
验证
slave-3配置
验证
在master上配置SSH密钥对要求master免密码登录各slave,用于开启相应服务。
Master无密码连接slave,先切换hadoop用户,用ssh-keygen按照默认配置直接按Enter键生成密钥对
通过ssh-copy-id将公钥复制至3个slave主机中,复制过程需要输入slave主机的hadoop用户密码,作用是master远程启动slave。
确定hadoop用户对文件的属主和属组权限
配置hadoop
复制文件,并给权限
如果是手动修改需要修改以下地方
由master通过SSH安全通道把刚才配置的6个文件复制给每个slave
slave需要对文件有755权限
初始化master
检查新生成的目录
启动hadoop群集(开机hadoop的冗余功能)
启停hadoopde的管理命令位于@HADOOP_HOME/sbin下,以start-*或stop-*开头;单独启动HDFS分布式文件系统可使用start-dfs.sh,也可以使用以下命令启动整个hadoop集群。
通过jps查看各节点上的进程是否正常
验证访问
hadoop基本命令
使用“hadoopfs”命令可以结合普通的文件管理命令实现很多操作,如查看、修改权限、统计、获取帮助、创建、删除、上传下载文件等,更多的用法可使用“hadoop fs -help”或“hadoop fs -usage”命令查看。
查看节点状态
HDFS高级命令
开机安全模式
将本地文件复制到HDFS上
将HDFS上的文件复制到本地
修改属组
修改权限
修改所有者
统计显示目录中文件大小
合并文件
为HDFS集群添加节点
slave4节点安装jdk与hadoop,配置环境变量
复制hosts文件到每台服务器
配置ssh无密码连接
在master上修改hadoop后,复制到其他节点
新节点上启动并平衡节点以及存储的数据
查看集群信息
删除DataNode节点
添加要删除的节点
刷新配置
查看集群信息
hadoop集群搭建完成!
总结:需要懂得原理加强自身不断完善自己!