一、分布式集群安装
1. Hadoop模式
本地模式、伪分布模式、集群模式
datanode 使用的机器上的磁盘,存储空间
nodemanager使用的机器上的内存和CPU(计算和分析数据)

2. 搭建环境准备工作
(1)克隆虚拟机,达到3台机器,分布式的架构即可
重新搭建一个hadoop环境
(2)克隆完成后,需要修改ip、主机名、映射、网络eth1-》eth0
(3)服务组件的规划
senior01: 4G内存,1核CPU,50G,namenode,datanode, nodemanager, historyserver

senior02: 4G内存,1核CPU,50G,datanode, resourcemanager,nodemanager

senior03: 4G内存,1核CPU,50G,datanode,secondarynamenode, nodemanager

(3)搭建环境
修改主机名: sudo vi /etc/sysconfig/network
修改网卡: sudo vi /etc/udev/rules.d/70*net.*
删掉eth0, eth1->eth0
sudo vi /etc/sysconfig/network-scipts/ifcfg-eth0
HDADDR=
修改ip:

(4)解压hadoop
配置JDK环境变量
hadoop-evn.sh,mapred-env.sh,yarn-even.sh
配置:
core-site.xml
hdfs-site.xml
slaves
yarn-site.xml
mapred-site.xml
mapreduce.jobhistory.address

(5)将配置文件分发到各个节点机器上去
scp -r hadoop-2.5.0/ beifeng-hadoop-03 /opt/modules
注意:拷贝之前需要在对应的机器上建好对应的目录

(6)格式化namenode
ip:50070

二、无密钥登陆ssh
ssh-keygen -t rsa
ssh-copy-id hostname02
ssh-copy-id hostname03
ssh-copy-id hostname04

三、时间同步
1. 集群机器之间时间必须要同步
2. 找一台机器作为"时间服务器"
3. 集群中的其他机器,以这台服务器为准
4. 选择beifeng-hadoop-02作为时间同步服务器
sudo rpm -qa | grep ntp
5.
6.
7.
查看ntp服务 sudo service ntpd status
启动ntp服务 sudo service ntpd start
设置开机启动 sudo chkconfig ntpd on
8. sudo vi /etc/ntp.conf
(1)修改网段
去掉#注释,并且修改为自己的网段
retrict
(2)修改时间服务器的地址
因为是企业内网,注释掉外网时间服务器的地址
(3)去掉注释
server
fudge

9. which ntpdate
配置完成后,需要重启服务
sudo service ntpd restart
重启后需要等待大约5分钟后才能使用其他命令

10. 制定一个定时任务,每十分钟执行一次
su - root
crontab -e
#sync time
0-59/10 * * * * /usr/sbin/ntpdate hostname02

11. 执行时间同步
sudo /usr/sbin/ntpdate hostanme

12. 设置机器的时间和BIOS系统时间同步
sudo vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes

四、Zookeeper 分布式协作框架
1. Zookeeper是分布式的,所以由多台服务器组成,至少组成
2. 节点个数必须是奇数
3. 比如有三台机器,允许坏掉一台,如果是五台,允许坏两台
4. 2n+1,n表示允许集群中损坏的机器数目
5. 会在众多的server中,选举一位作为“领导者”,其他的作为“跟随者”
6. 选举领导者的目的,为了在分布式集群中保证数据的一致性
7. 与namenode类似,数据都存放在jvm内存中,本地也有备份

五、ZooKeeper要点
1. 机器数目必须奇数
2. 所在机器时间必须同步
3. ZooKeeper分为两个部分: 服务端和客户端
4. 容错性
5. 服务端可以对于多个客户端,多个zookeeper服务端可以对应多个客户端

六、ZooKeeper数据结构

七、ZooKeeper典型应用场景

八、Zookeeper环境部署搭建

zookeeper 集群安装(单点与分布式成功安装)摘录

zoo.cfg
dataDir=/otp/modules/zookeeper-3.4.5/data/zkData
启动服务
zkServer.sh start
zkServer.sh status
jps
服务进程: QuorumPeerMain
znode,代表的是zookeeper上的节点

九、HA
Client -> Proxy(自动故障转移(ZooKeeper))
-> NameNode(Active)
-> NameNode(Standby)
1. 单点故障,是不是可以有两个namenode
2. 正常情况下:一个是对外提供服务,一个备份状态 ——HDFS高可用性;
3. 考虑的几个重点把握:
(1)保证两个namenode内存中存储文件系统的元数据要同步;
namenode启动->读取fsimage和edits文件
->生成新的fsimage和edits文件
(2)编辑日志文件的安全性
【安全性方案】
a. 使用比较好的文件系统(外部存储)来解决,一读一写保持
数据的同步,缺陷:成本高,不适合Hadoop
b. 分布式的存储日志信息
写多份再读取,条件:奇数个
此方案是cloudera公司提出的
c. ZooKeeper可以存储数据
d. JournalNode:日志节点
e. namenode
datanode注册
datanode块报告
(3)如何协作
(4)客户端如何访问文件系统
保证任何时候只能有一个namenode对外提供服务;通过隔离机制保证;

十、 hadoop 2.x HDFS HA配置及测试配置
hadoop-daemon.sh start zkfs

《OD学hadoop》第三周0710的更多相关文章

  1. 《OD学hadoop》第二周0702

    大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...

  2. 《OD学hadoop》第二周0703

    hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...

  3. 《OD学hadoop》第一周0625

    一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统  www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...

  4. 《OD学hadoop》第一周0626 作业二:Linux基础

    一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...

  5. 《OD学hadoop》第一周0626

    一.磁盘管理 Linux添加新硬盘.分区.格式化.自动挂载 http://lxsym.blog.51cto.com/1364623/321643 给Linux系统新增加一块硬盘 http://www. ...

  6. 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)

    1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...

  7. 《OD学hadoop》第三周0709

    一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...

  8. 2017-2018-1 我爱学Java 第三周 作业

    Team Presentation 团队展示 队员学号 队名 团队项目描述 队员风采 团队首次合照 团队的特色描述 团队初步合作 前两周合作过程中的优缺点 如何改进 团队选题 确立,建立和初步熟悉团队 ...

  9. 《OD学hadoop》20160903某旅游网项目实战

    一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...

随机推荐

  1. 使用css3伪元素制作时间轴并且实现鼠标选中高亮效果

    利用css3来制作时间轴的知识要点:伪元素,以及如何在伪元素上添加锚伪类 1)::before 在元素之前添加内容. 2)::after 在元素之后添加内容. 提示:亦可写成 :before :aft ...

  2. 在JavaScript中实现yield,实用简洁实现方式。

    原题还是老赵的: http://blog.zhaojie.me/2010/06/code-for-fun-iterator-generator-yield-in-javascript.html 原以为 ...

  3. iOS富文本-NSAttributedString简单封装

    直接调用系统的写起来比较麻烦,封装一下 因为要简单所以就写类方法 WJAttributeStyle 基类 ) {         ; i < styles.count; i ++) {      ...

  4. Android 内存剖析 – 发现潜在问题

    简介 移动平台上的开发和内存管理紧密相关.尽管随着科技的进步,现今移动设备上的内存大小已经达到了低端桌面设备的水平,但是现今开发的应用程序对内存的需求也在同步增长.主要问题出在设备的屏幕尺寸上-分辨率 ...

  5. VS2010 Notes

    1.fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 VS2010在经历一些更新后,建立Win32 Console Project时会出“error LNK112 ...

  6. Apache POI 解析 microsoft word 图片文字都不放过

    http://blog.csdn.net/njchenyi/article/details/6894500 http://haohaoxuexi.iteye.com/blog/2031335

  7. Codeigniter整合Tank Auth权限类库的教程

    Codeigniter整合Tank Auth权限类库的教程一开始找了很多CodeIgniter的类库,觉得都不怎么样,后来干脆自己通过CI的钩子系统写了权限管理.但是还是不怎么满意,后来有人推荐tan ...

  8. 2014多校第十场1004 || HDU 4974 A simple water problem

    题目链接 题意 : n支队伍,每场两个队伍表演,有可能两个队伍都得一分,也可能其中一个队伍一分,也可能都是0分,每个队伍将参加的场次得到的分数加起来,给你每个队伍最终得分,让你计算至少表演了几场. 思 ...

  9. [你必须知道的.NET]第二十九回:.NET十年(上)

    发布日期:2009.05.08 作者:Anytao © 2009 Anytao.com ,Anytao原创作品,转贴请注明作者和出处. /// <summary> /// 本文部分内容,已 ...

  10. IEEE 802.3 Ethernet

    Introduction Ethernet 是过去30年以来最为成功的局域网(local area networking)技术. 1. First widely used LAN technology ...