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. Windows下主机名和IP映射设置

    如果需要添加域名和IP的对应关系可以在以下地方进行修改. 打开系统目录:c:/windows/system32/drivers/etc找到hosts文件,打开hosts文件并在最后面添加一条记录 例如 ...

  2. TPshop用户模块的数据库表关系

    看到后台数据库一大坨表项,不熟悉的还真难以下手(如下). 下面讲讲用户模块(User)的数据库表之间的简单关系. 如果安装TPshop官方的学习工程,可以在下面链接进入用户界面: 手机版:http:/ ...

  3. Ajax理解总结

    前端开发拿数据页面实时更新是离不开Ajax这个技术的 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建 ...

  4. 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码

    如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...

  5. SpringData系列三 Repository Bean 方法定义规范

    本节主要介绍Repository Bean中方法定义规范. 1.方法不是随便声明,需要符合一定的规范. 2.按照Spring Data的规范,查询方法以find|read|get开头,涉及条件查询时, ...

  6. swift 可选类型(optional)

    可选类型定义 Swift 标准库中定义后缀  ?为可选类型 Optional<Wrapped> 的语法糖,这里语法糖可以简单理解为一种便捷的书写语法.也就是说,下面两个声明是等价的: va ...

  7. 多人合作开发启动activity-----规范问题

    A----FirstActivity button1.setOnClickListener(new OnClickListener() {     @Override     public void ...

  8. 【转】c++ new操作符的重载

    基本概念: 1. 操作符重载:C++支持对某个操作符赋予不同的语义 2. new操作符:申请内存,调用构造函数 关于c++ new操作符的重载 你知道c++ 的new 操作符和operator new ...

  9. 当一个JavaScripter初次进入PHP的世界,他将看到这样的风景

     本文将从以下11点介绍javascript和PHP在基础语法和基本操作上的异同: 1.数据类型的异同 2.常量和变量的定义的不同,字符串连接运算符不同 3.对象的创建方法的不同 4.PHP与JS在变 ...

  10. ES6核心内容精讲--快速实践ES6(一)

    前言 本文大量参考了阮一峰老师的开源教程ECMAScript6入门,适合新手入门或者对ES6常用知识点进行全面回顾,目标是以较少的篇幅涵盖ES6及部分ES7在实践中的绝大多数使用场景.更全面.更深入的 ...