Hadoop HDFS分布式环境搭建

HDFS简介

全称 Hadoop Distributed File System, Hadoop分布式文件系统。 根据Google的GFS论文,由Doug Cutting使用JAVA开发的开源项目。HDFS是Hadoop项目的一部分。为Hadoop提供底层的数据存储,满足上次各种实际应用使用(如Map/Reduce)。HDFS是典型的的Master/Slave集群架构,由一个NameNode和多个DateNode组成,NameName只能有一个,扮演Master角色,负责对具体的存储块的元数据进行保存,比如控制某个存储块具体保存在哪个DataNode上;DataNode可以为多个,扮演着Slave的角色,负责对具体的存储块进行保存,一个相同的存储块根据配置可以保存到多个DataNode上,以保持数据的高可用性。

准备工作:

根据实际要求,规划环境,本文为实验环境,三台虚拟机
本次为三台机器(master:hadoop1 datanode:hadoop2 datanode:hadoop3 )
系统版本:CentOS release 6.6 (Final)

设置主机名;修改 hosts
[root@hadoop1 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1

[root@hadoop1 ~]# vim /etc/hosts
192.168.217.128 hadoop1   ###新增
192.168.217.129 hadoop2   ###新增
192.168.217.130 hadoop3   ###新增
  • 拷贝 hosts 文件到 hadoop2 hadoo3
[root@hadoop1 ~]# scp /etc/hosts root@hadoop2:/etc
[root@hadoop1 ~]# scp /etc/hosts root@hadoop3:/etc
配置免密码登录:
  • 在 hadoop1 节点配置免密码登录:
[root@hadoop1 ~]# ssh-keygen –t rsa
[root@hadoop1 ~]# cd .ssh
[root@hadoop1 .ssh]# cat id_rsa.pub > authorized_keys
  • 复制 hadoop1 节点的 /root/.ssh/ authorized_keys文件到hadoop2、hadoop3 节点;
[root@hadoop1 .ssh]# scp authorized_keys root@hadoop2:/root/.ssh
[root@hadoop1 .ssh]# scp authorized_keys root@hadoop3:/root/.ssh

至此免密码登录配置完毕,可以通过本机ssh各个节点IP来测试是否需要密码登录

虚拟机上安装 jdk,配置环境变量

上一篇文章中有详细步骤,本文略


安装 hadoop
tar zxvf hadoop-2.7.4.tar.gz -C /home/
  • 配置环境变量,新增hadoop到环境变量
vim /etc/profile
export HADOOP_HOME=/home/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
  • NameNode上修改hadoop配置文件
    主要修改/home/hadoop-2.7.4/etc/hadoop/目录下的配置文件
Hadoop-env.sh:         Hadoop环境变量设置
Core-site.xml:         NameNode  IP和端口设置
Hdfs-site.xml:         HDFS数据块副本等参数设置
Mapred-site.xml:       MapReduce   
Yarn-site.xml          reduce获取数据的方式
Slaves:                完成datanode节点IP设置
[root@hadoop1 hadoop]# vim hadoop-env.sh

env.sh
env.sh

[root@hadoop1 hadoop]# vim core-site.xml 

NameNode结点的URI

  • 创建 tmp 目录
mkdir /home/tmp
[root@hadoop1 hadoop]# vim hdfs-site.xml

http服务端口

注:dfs.replication 表示数据副本数,一般不大于 datanode 节点数

[root@hadoop1 hadoop]# mv mapred-site.xml.template mapred-site.xml
[root@hadoop1 hadoop]# vim mapred-site.xml 

指明mapreduce运行在yarn上

[root@hadoop1 hadoop]# vim yarn-site.xml

reduce获取数据的方式

[root@hadoop1 hadoop]# vim slaves

添加 hadoop2 hadoop3 做为 datanode

  • 复制hadoop系统到所有DataNode节点
[root@hadoop1 ~]# scp –r /home/hadoop-2.7.4 root@hadoop2:/home/
[root@hadoop1 ~]# scp –r /home/hadoop-2.7.4 root@hadoop3:/home/
启动 Hadoop
  • 格式化NameNode
    hadoop1 启动Hadoop 集群,需要启动HDFS 集群和 Map/Reduce 集群。格式化一个新的分布式文件系统:
[root@hadoop1 ~]# hadoop namenode -format

这里写图片描述
如果格式化成功,会返回一堆有关NameNode的启动信息,其中会有一句“…. has been successfully formatted.”

  • 启动HDFS
[root@hadoop1 sbin]# sh /home/hadoop-2.7.4/sbin/start-dfs.sh

这里写图片描述

sbin/start-dfs.sh 脚本会参照 NameNode 上${HADOOP_CONF_DIR}/slaves 文件的内容,在所有列出的 slave 上启动DataNode 守护进程

查看集群状态
[root@hadoop1 ~]# hadoop dfsadmin -report
端口开启
iptables -I INPUT -p tcp --dport 50070 -j ACCEPT
iptables -I INPUT -p tcp --dport 8088 -j ACCEPT
浏览器方式:在WEB页面下查看Hadoop工作情况

输入部署Hadoop服务器的IP:http://IP:50070http://IP:8088.

50070

50070

8088

以上为搭建Hadoop集群过程。

附:
Hadoop中文文档:http://hadoop.apache.org/docs/r1.0.4/cn/index.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值