HDFS:分布式文件存储系统,是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。
HDFS是Hadoop中的三大重要组件之一,用来解决数据的分布式存储,是主从结构的集群模型。
一、HDFS的安装:
1.下载Hadoop的安装程序包:hadoop-2.7.4.tar.gz,直接从官网下载:https://hadoop.apache.org/releases.html
2.将下载的hadoop-2.7.4.tar.gz包上传到centos服务器指定的目录,例:/opt/mysoft/
3.解压hadoop-2.7.4.tar.gz安装包:tar -zxvf hadoop-2.7.4.tar.gz,重命名:mv hadoop-2.7.4 hadoop
4.修改hadoop-env.sh 文件的jdk路径:vim /opt/mysoft/hadoop/etc/hadoop-env.sh
export JAVA_HOME=/opt/mysoft/jdk
配置 /etc/profile路径:命令:vi /etc/profile
export HADOOP_HOME=/opt/mysoft/hadoop
export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/sbin:${HADOOP_HOME}/bin:$PATH
5.修改hdfs的核心配置文件:vim /opt/mysoft//hadoop/etc/core-site.xml
6.修改hdfs的配置文件:vim /opt/mysoft/hadoop/etc/hdfs-site.xml
二、配置免密登录
1.先在每个虚机上生成公约文件
命令:ssh-keygen -t rsa 一路敲回车到结束
命令:cd /root/.ssh
//创建公钥
命令:cat id_rsa.pub >>authorized_keys (id_rsa.pub >>中间是空格,不是tab键)
命令:ssh localhost
//如下命令如果不通,则查看vi /etc/hosts 将计算机名和IP绑定(这一步不重要)
/验证是否生效
命令:ssh hadoop01
.......
依次操作每台机器
2.将本地公约文件拷贝到其它服务器上的公约文件中,这样本机就可以免密码访问其它机器了。
命令:cd /root/.ssh
//将hao上的公钥拷贝到hadoop01,hadoop02的公钥文件中
命令:ssh-copy-id -i hadoop01
ssh-copy-id -i hadoop02
//验证是否可以免密码登陆hadoop01,hadoop02(首次需要密码)
三、把主机上配置好的文件复制到指定的机器
三、文件复制命令:
scp -r hadoop/ hadoop01:$PWD
scp -r hadoop/ hadoop02:$PWD
四、初始化namenode
进入到hadoopd的bin目录:cd /opt/mysoft/hadoop/bin
格式化命令: ./hdfs namenode -format
五、启动指定的节点namenode
进入到hadoop的sbin目录下:cd /opt/mysoft/hadoop/sbin
启动节点命令:./hadoop-daemon.sh start namenode
查看进程命令: jps
3616 Jps
3545 NameNode
六、启动datanode节点
到namenode节点以外的服务器启动datanode节点服务器:命令:hadoop-daemon.sh start datanode
七、配置集群
修改/opt/mysoft/hadoop/etc/hadoop/slaves配置文件,添加集群主机名称。
命令:vi /opt/mysoft/hadoop/etc/hadoop/slaves
hadoop01
hadoop02
hadoop03
......
把配置好的slaves文件复制到所有的集群节点服务器上:scp slaves hadoop01:/opt/mysoft/hadoop/etc/hadoop/conf/
八、通过start-all.sh命令启动集群中所有服务器。