原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html

Hadoop HDFS分布式环境搭建

最近选择给大家介绍Hadoop HDFS系统,因此研究了一下如何在Linux 下配置一个HDFS Clust。小记一下,以备将来进一步研究和记忆。

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上,以保持数据的高可用性。

环境介绍

三台主机,一台NameNode, 2台DataNode

Role

IP

Host

Type

Version

NameNode

10.34.64.222

NC-VM-PL-DEV-26

Master

CentOS 6.4

DataNode

10.34.64.223

NC-VM-PL-DEV-27

Slave

CentOS 6.4

DataNode

10.34.64.224

NC-VM-PL-DEV-28

Slave

CentOS 6.4

配置流程

原则:三台机器的配置保持一致就可以,下面具体描述NameNode主机的过程

1.       安装JDK1.6 (略)

2.       创建HDFS账号,最好这样,便于管理

[root@NC-VM-PL-DEV-26 ~]# useradd hdfs

[root@NC-VM-PL-DEV-26 ~]# passwd hdfs

3.       配置免密码的SSH访问机制

通常Centos系统都默认安装SSH, 如果没有安装,请单独安装,yum install ssh

a)         切换至hdfs登录.

b)         [hdfs@NC-VM-PL-DEV-26 ~]$ cd ~

c)         [hdfs@NC-VM-PL-DEV-26 ~]$ ls -a

d)         [hdfs@NC-VM-PL-DEV-26 ~]$ cd .ssh

e)         [hdfs@NC-VM-PL-DEV-26 ~]$ ssh-keygen –t rsa

f)          [hdfs@NC-VM-PL-DEV-26 ~]$ cat id_rsa.pub > authorized_keys

g)         至此可以测试一下ssh 本机IP是否需要密码,如果成功,说明本机配置成功。

h)         然后将authorized_keys文件复制到所有DataNode节点,[hdfs@NC-VM-PL-DEV-26 ~]$ scp authorized_keys hdfs@10.34.64.223:/home/hdfs/.ssh

i)           给另一个DataNode节点相同的操作,至此免密码登录配置完毕,可以通过本机ssh 各个节点IP来测试是否需要密码登录

4.       下载Hadoop软件包,官方下载地址

a)        http://mirrors.cnnic.cn/apache/hadoop/common/stable/

b)        http://hadoop.apache.org/releases.html#Download

切换至hdfs账号,解压至/home/hdfs/hadoop

[hdfs@NC-VM-PL-DEV-26 ~]$ tar zxf hadoop-2.2.0.tar.gz

[hdfs@NC-VM-PL-DEV-26 ~]$ mv hadoop-2.2.0  hadoop

5.       配置环境变量

a)         [hdfs@NC-VM-PL-DEV-26 ~]$ vim ~/.bash_profile

b)         HADOOP_HOME=/home/hdfs/hadoop

export HADOOP_HOME

export  JRE_HOME=$JAVA_HOME/jre

export  CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HADOOP_HOME/bin

6.       在NameNode上修改hadoop配置文件

主要修改/home/hdfs/hadoop/etc/hadoop/目录下的配置文件

Hadoop-env.sh:         Hadoop环境变量设置

Core-site.xml:            NameNode  IP和端口设置

Hdfs-site.xml:            HDFS数据块副本等参数设置

Mapred-site.xml:      MapReduce 完成JobTracker  IP和端口设置

Slaves:                          完成datanode节点IP设置

6.1 配置core-site.xml

fs.default.name

hdfs://10.34.64.222:9000/

6.2 配置 hdfs-site.xml

dfs.name.dir

/home/hdfs/hadoop-2.2.0/data/dfs.name.dir

dfs.data.dir

/home/hdfs/hadoop-2.2.0/data/dfs.data.dir

dfs.permissions

false

dfs.replication

2

6.3 配置 mapred-site.xml

mapred.job.tracker

Master:9001

6.4 配置 hadoop-env.sh

将JAVA_HOME的值修改为真实有效的地址,如果不知道,请执行echo $JAVA_HOME 查看。export JAVA_HOME=/usr/java/jdk1.6.0_27

6.5 配置 slaves

NC-VM-PL-DEV-27

NC-VM-PL-DEV-28

7.       复制hadoop系统到所有DataNode节点

将主NameNode节点安装好的Hadoop系统目录复制到每一个从DataNode节点上.

[hdfs@NC-VM-PL-DEV-26 hadoop]$ scp –r /home/hdfs/hadoop 10.34.64.223: /home/hdfs/hadoop

[hdfs@NC-VM-PL-DEV-26 hadoop]$ scp –r /home/hdfs/hadoop 10.34.64.224: /home/hdfs/hadoop

8.       在每一个主机上修改Hosts文件,以便于主机名和IP地址解析

修改每台机器上的/etc/hosts文件

a)         如果是NameNode,需要在hosts文件中添加集群中所有节点的IP地址及对应的主机名。示例:

10.34.64.224 NC-VM-PL-DEV-28

10.34.64.223 NC-VM-PL-DEV-27

10.34.64.222 NC-VM-PL-DEV-26

b) 如果是DataNode,只需要在文件中添加本机和NameNode的Ip地址和主机名。

为了方便都填上也挺好。

9.       格式化NameNode

执行如下命令做格式化操作,每次如果有修改conf,最好做一次格式化命令

[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop namenode –format

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

10.   启动HDFS

[hdfs@NC-VM-PL-DEV-26 ~]$./home/hdfs/hadoop/bin/start-dfs.sh

如果启动遇到问题,请对NameNode或DataNode的日志进行查看,路径为/home/hdfs/hadoop/logs,看看是否有Exception抛出。

11.   简单对HDFS进行试用

[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop fs –mkdir /newdir

[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop fs –ls

用jps命令检查一下是否正常启动:

[hdfs@NC-VM-PL-DEV-26 ~]$ jps

9193 SecondaryNameNode

8914 NameNode

9615 Jps

查看集群状态

[hdfs@NC-VM-PL-DEV-26 ~]$ hadoop dfsadmin -report

DEPRECATED: Use of this script to execute hdfs command is deprecated.

Instead use the hdfs command for it.

13/12/04 15:46:20 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Configured Capacity: 0 (0 B)

Present Capacity: 0 (0 B)

DFS Remaining: 0 (0 B)

DFS Used: 0 (0 B)

DFS Used%: NaN%

Under replicated blocks: 0

Blocks with corrupt replicas: 0

Missing blocks: 0

-------------------------------------------------

Datanodes available: 0 (0 total, 0 dead)

浏览器方式:在WEB页面下查看Hadoop工作情况

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

【转】Hadoop HDFS分布式环境搭建的更多相关文章

  1. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  2. hadoop ——完全分布式环境搭建

    hadoop 完全分布式环境搭建 1.虚拟机角色分配: 192.168.44.184 hadoop02 NameNode/DataNode ResourceManager/NodeManager 19 ...

  3. CentOS7下Hadoop伪分布式环境搭建

    CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...

  4. HDFS 分布式环境搭建

    HDFS 分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 分布式环境搭建 CSDN:HDFS 分布式环境搭建 准备四个Linux实例 每个实例对应的 host 和 ip 地址如下 nod ...

  5. Hadoop完全分布式环境搭建(二)——基于Ubuntu16.04设置免密登录

    在Windows里,使用虚拟机软件Vmware WorkStation搭建三台机器,操作系统Ubuntu16.04,下面是IP和机器名称. [实验目标]:在这三台机器之间实现免密登录 1.从主节点可以 ...

  6. 《OD大数据实战》Hadoop伪分布式环境搭建

    一.安装并配置Linux 8. 使用当前root用户创建文件夹,并给/opt/下的所有文件夹及文件赋予775权限,修改用户组为当前用户 mkdir -p /opt/modules mkdir -p / ...

  7. Hadoop完全分布式环境搭建

    前言 本文搭建了一个由三节点(master.slave1.slave2)构成的Hadoop完全分布式集群(区别单节点伪分布式集群),并通过Hadoop分布式计算的一个示例测试集群的正确性. 本文集群三 ...

  8. Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0

    Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...

  9. hadoop全分布式环境搭建

    本文主要介绍基本的hadoop的搭建过程.首先说下我的环境准备.我的笔记本使用的是Windows10专业版,装的虚拟机软件为VMware WorkStation Pro,虚拟机使用的系统为centos ...

随机推荐

  1. Windows Event 事件

    事件对象就像一个开关:它只有两种状态(开和关). 开状态:我们称其为“有信号” 关状态:我们称其为“无信号” 可以在一个线程的执行函数中创建一个事件对象,然后观察它的状态,如果是“无信号”就让该线程睡 ...

  2. Spark Standalone模式HA环境搭建

    Spark Standalone模式常见的HA部署方式有两种:基于文件系统的HA和基于ZK的HA 本篇只介绍基于ZK的HA环境搭建: $SPARK_HOME/conf/spark-env.sh 添加S ...

  3. PHP mysqli_free_result()与mysqli_fetch_array()函数

    mysql_free_result() 仅需要在考虑到返回很大的结果集时会占用多少内存时调用.在脚本结束后所有关联的内存都会被自动释放. 在我们执行完SELECT语句后,释放游标内存是一个很好的习惯. ...

  4. ICML论文|阿尔法狗CTO讲座: AI如何用新型强化学习玩转围棋扑克游戏

    今年8月,Demis Hassabis等人工智能技术先驱们将来到雷锋网“人工智能与机器人创新大会”.在此,我们为大家分享David Silver的论文<不完美信息游戏中的深度强化学习自我对战&g ...

  5. 经典算法 KMP算法详解

    内容: 1.问题引入 2.暴力求解方法 3.优化方法 4.KMP算法 1.问题引入 原始问题: 对于一个字符串 str (长度为N)和另一个字符串 match (长度为M),如果 match 是 st ...

  6. 从最大似然函数 到 EM算法详解

    极大似然算法 本来打算把别人讲的好的博文放在上面的,但是感觉那个适合看着玩,我看过之后感觉懂了,然后实际应用就不会了.... MLP其实就是用来求模型参数的,核心就是“模型已知,求取参数”,模型的意思 ...

  7. ssh连接失败,提示 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

    [root@iZ2ze4kh1rvftq4cevdfjwZ ~]# ssh IP @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...

  8. Caused by: java.lang.IllegalStateException: Expected raw type form of org.springframework.web.servlet.handler.AbstractHandlerMethodMapping$Match

    spring 4.0.2,mybatis 3.2.6,aspectjweaver 1.8.10 使用的时候,报错: Caused by: java.lang.IllegalStateException ...

  9. WDA-WebDynpro Demo & FPM Demo

    Web Dynpro Demo package: SWDP_DEMO SWDP_TEST   FPM Demo package: APB_FPM_DEMO APB_FPM_DEMO_SCENARIO

  10. ubuntu查询可用安装包

    当使用apt-get install packages时,如果不知道安装包的具体名称,可以使用关键字进行搜索,使用:apt-cache search keywords