1. hadoop 是什么 以及解决的问题 (自行百度)

2.基本概念的讲解

1. NodeName  master 节点(NN)

主节点 保存了metaData(元数据信息) 包括文件的owener和permission ,文件包换哪些block,block保存在哪个DataNode

NameNode的metaData信息在启动时会加载 到内存

,操作文件的日志信息,edit文件,同时不断合并edit和fsimage 这两个文件就可以记录 HDFS 上所有文件的信息

2.secondary NameNode (从节点)

主要工作是帮助naneNode合并editslog,减少NN启动时间,原理如下

3. dataNode

实际保存存储的文件信息(Block)

启动时dataNode线程会向NameNode汇报block信息

像nameNode 发送心跳  如果namenode 10分钟没有收到则任务 datanode 挂了,并且copy block到其他DataNode

4 hdfs

文件按大小切分成固定大小的block块  存储到不同的datanode上 最少每个block块 会保存3个副本 防止数据丢失

如下 红色色数据 分别存储待不同的机器上 保证数据不丢失

分布式部署如下(centos 6.6 jdk 1.7 hadoop 2.5.1 )

节点如下,四台机器
          NN     SNN     DN
node1  1
node2            1        1
node3                      1
node4                      1

1. 主机名,防火墙,网络配置
编辑 vi /etc/hosts 文件(保证4台机器可以通信),以下为配置域名
192.168.109.113 node1
192.168.109.114 node2
192.168.109.222 node3
192.168.109.121 node4
关闭防火墙service iptable stop

2 node1访问node2,3,4秘钥(不输入密码)

Node1 ssh-keygen -t rsa 一路回车,node2,node3 node4 同样, 在家目录下执行创建秘钥对的命令,会生成.ssh目录
scp authorized_keys root@node2:/root/.ssh/ 将node1 的秘钥拷复制到 node2,node2,node4 的/root/.ssh下即可实现免登陆
scp authorized_keys root@node3:/root/.ssh/
scp authorized_keys root@node4:/root/.ssh/
ssh node2 就不用再输入密码了
3 时间同步(保证四台机器时间一样,会有心跳检测)
Ntp 安装 yum install ntp
ntpdate s1a.time.edu.cn //北京大学的ntp 地址 用ntpdate选择时间服务即可
实际中报错没有解决 ,最终在xhell中 选择全部会话 执行date –s 12:10:10 时间做了一个同步
4 安装jdk
Rpm –ivh jdk的rpm包,安装后默认在 /usr/java 下
配置jdk环境的变量
Vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_45
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
保存 java –version 查看是否安装成功

5 hadoop 安装和配置
tar –zxvf hadoop xx tar .gz

配置文件位置/usr/local/hadoop-2.5.1/etc/hadoop
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoopHDFS</value>
</property>
</configuration>

配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!—下面已经制定snn>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value>
</property>
</configuration>

配置hadoop_env.sh 修改java_home
export JAVA_HOME=/usr/java/jdk1.7.0_45

配合hadoop环境变量
export HADOOP_HOME=/usr/local/hadoop-2.5.1
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置master 和slaves
vi /usr/local/hadoop-2.5.1/etc/hadoop/masters 写入node1,master 就是nameNode
vi /usr/local/hadoop-2.5.1/etc/hadoop/slaves 写入node2,node3,node4

统一拷贝配置文件保证每台都一样
scp -r hadoop/ root@node4:/usr/local/hadoop-2.5.1/etc/
scp -r hadoop/ root@node3:/usr/local/hadoop-2.5.1/etc/
scp -r hadoop/ root@node2:/usr/local/hadoop-2.5.1/etc/

6 格式化NN(bin下面)
hdfs namenode –format

7 启动
start-dfs.sh

查看每台的进程jps
NN(node1)

SNN(node2)
DN(node2,node3,node4)
Web 页面 http://192.168.109.113:50070/ nodeName的50070访问

Hadoop 笔记1 (原理和HDFS分布式搭建)的更多相关文章

  1. hadoop3自学入门笔记(2)—— HDFS分布式搭建

    一些介绍 Hadoop 2和Hadoop 3的端口区别 Hadoop 3 HDFS集群架构 我的集群规划 name ip role 61 192.168.3.61 namenode,datanode ...

  2. 2.hadoop基本配置,本地模式,伪分布式搭建

    2. Hadoop三种集群方式 1. 三种集群方式 本地模式 hdfs dfs -ls / 不需要启动任何进程 伪分布式 所有进程跑在一个机器上 完全分布式 每个机器运行不同的进程 2. 服务器基本配 ...

  3. Hadoop,master和slave简单的分布式搭建

    搭建过程中配置免密钥登录为了以后方便使用 [提醒]安装Hadoop中会遇到新建文件夹,配置路径等问题,这个不能生搬硬套,要使用自己配置的路径,灵活使用. Hadoop的部署配置文件在http://bl ...

  4. 【转】Hadoop HDFS分布式环境搭建

    原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统 ...

  5. hadoop学习第二天-了解HDFS的基本概念&&分布式集群的搭建&&HDFS基本命令的使用

    一.HDFS的相关基本概念 1.数据块 1.在HDFS中,文件诶切分成固定大小的数据块,默认大小为64MB(hadoop2.x以后是128M),也可以自己配置. 2.为何数据块如此大,因为数据传输时间 ...

  6. 超详细解说Hadoop伪分布式搭建--实战验证【转】

    超详细解说Hadoop伪分布式搭建 原文http://www.tuicool.com/articles/NBvMv2原原文 http://wojiaobaoshanyinong.iteye.com/b ...

  7. Hadoop完全分布式搭建过程中遇到的问题小结

    前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...

  8. hadoop分布式搭建

    1.新建三台机器,分别为: hadoop分布式搭建至少需要三台机器: master extension1 extension2 本文利用在VMware Workstation下安装Linux cent ...

  9. Spark环境搭建(一)-----------HDFS分布式文件系统搭建

    下载的压缩文件放在~/software/    解压安装在~/app/ 一:分布式文件系统搭建HDFS 1,下载Hadoop HDFS环境搭建    使用版本:hadoop-2.6.0-cdh5.7. ...

随机推荐

  1. CentOS6.5下netcat工具安装教程

    1.下载下载地址:http://sourceforge.net/projects/netcat/files/netcat/0.7.1/下载的是netcat-0.7.1.tar.gz版本 2.拷贝用U盘 ...

  2. 【JAVAWEB学习笔记】18_el&jstl&javaee的开发模式

    一.EL技术 1.EL 表达式概述 EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写. 2.EL从域中取出数据 ...

  3. Javascript性能优化之节流函数

    在我们的工作中往往有这样的需求,下拉上拉加载实现无限加载列表数据这样的一个功能,这个时候小伙伴们可能就觉得这个功能几分钟的事,于是乎,下边这段代码浩浩荡荡就出来了 window.addEventLis ...

  4. Visual Studio2017中如何让Entity Framework工具【ADO.NET实体数据模型】支持MYSQL数据源

    熟悉Entity Framework应该对以下图片不陌生,他就是ADO.NET实体数据模型向导:可以将数据库的表自动生成模型类,或者创建Code First的模型文件. 但是这个模型向导默认只显示微软 ...

  5. 【CSS Cookbook】笔记摘要(一)

    概要 CSS的优点:将表现和内容相分离:更好地控制页面布局:大大减少了文件尺寸:缩短了改版时间:提高了易用性. CSS全称层叠式样表(Cascading Style Sheets). 1.问题:如何最 ...

  6. 第 2 章 MySQL 架构组成

    麻雀虽小,五脏俱全.MySQL 虽然以简单著称,但其内部结构并不简单.本章从MySQL物理组成.逻辑组成,以及相关工具几个角度来介绍 MySQL 的整体架构组成,希望能够让读者对 MySQL 有一个更 ...

  7. JSONObject简介(2)

    JSONObject简介 本节摘要:之前对JSON做了一次简单的介 绍,并把JSON和XML做了一个简单的比较:那么,我就在想,如果是一个json格式的字符串传到后台,需要怎么对其处理?如果前台页面需 ...

  8. JS中判断数组的方法

    JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...

  9. dialog使用方法(同一页面,调用一个js代码,实现多个不同样式的弹窗)

    html代码 <!DOCTYPE html><html><head>     <title></title>     <meta ch ...

  10. Flex 布局:语法篇

    网页布局(layout)是 CSS 的一个重点应用.布局的传统解决方案,基于盒状模型,依赖 display 属性 + position 属性 + float 属性.它对于那些特殊布局非常不方便,比如, ...