HDFS安装
- 下载jdk和hadoop放到
/software目录下,然后解压到/app目录下
1 | tar -zxvf 压缩包名字 -C ~/app/ |
- 配置环境变量
1 | vim ~/.bash_profile |
进入解压后的Hadoop目录,修改配置文件
- 配置文件的作用
- core-site.xml:指定HDFS的访问方式
- hdfs-site.xml:指定namenode和datanode的数据存储位置
- mapred-site.xml:配置MapReduce
- yarn-site.xml:配置yarn
- 修改hadoop-env.sh
1
2
3
4cd ect/hadoop
vim hadoop-env.sh
添加内容
export_JAVA_HOME=/root/bigdata/jdk- 修改core-site.xml 在节点中添加
1
2
3
4
5
6
7
8
9
10<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/root/bigdata/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-master:9000</value>
</property>
</configuration>- 修改hdfs-site.xml 在 configuration节点中添加
1
2
3
4
5
6
7
8
9
10
11
12<property>
<name>dfs.namenode.name.dir</name>
<value>/root/bigdata/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/bigdata/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>- 修改 mapred-site.xml
- 默认没有这个 从模板文件复制
1
cp mapred-site.xml.template mapred-site.xml
- 在mapred-site.xml 的configuration 节点中添加
1
2
3
4<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>- 修改yarn-site.xml configuration 节点中添加
1
2
3
4<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>- 来到hadoop的bin目录
1
./hadoop namenode -format (这个命令只运行一次)
- 启动hdfs 进入到 sbin
1
./start-dfs.sh
- 启动启动yarn 在sbin中
- 配置文件的作用
HDFS架构
- 1个NameNode(Master)带DataNode(Slaves)结构
- 1个文件会被拆分成多个Block
- NameNode(NN)
- 负责客户端请求的响应
- 负责元数据(文件名称、副本系数、Block存放的DN)的管理
- 元数据是文件的描述数据
- 监控DataNode健康状况,10分钟没有收到DataNode报告认为DataNode死掉了
- DataNode(ND)
- 存储用户的文件对应的数据块(Block)
- 定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况
- 分布式集群NameNode和DataNode部署在不同机器上
- HDFS优缺点
- 优点
- 数据冗余、硬件容错
- 适合存储大文件
- 处理流式数据
- 可构建在廉价机器上
- 缺点
- 数据访问延时高
- 不适合小文件存储
- 优点
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 zoubinbf@163.com