一、分布式集群安装
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. C#获取网页中的验证码图片(转载)

    有时候我们需要获得网页上的图片,尤其是向验证码这样的图片.这个方法就是将网页上的图片获取到PictureBox中.效果入下图所示. 右边是使用Webbrowser控件装载的某网站的注册页面,其中包括了 ...

  2. AngularJs学习笔记--Guide教程系列文章索引

    在很久很久以前,一位前辈向我推荐AngularJs.但当时我没有好好学习,仅仅是讲文档浏览了一次.后来觉醒了……于是下定决心好好理解这系列的文档,并意译出来(英文水平不足……不能说是翻译,有些实在是看 ...

  3. ibatis中iterate的用法(conjunction="or" ",")

    例子一 查询条件dto public class queryCondition{ private String[] stuIds; private String name;} 查询sqlMap < ...

  4. javascript实现数据结构与算法系列:循环链表与双向链表

    循环链表(circular linked list) 是另一种形式的链式存储结构.它的特点是表中最后一个结点的指针域指向头结点,整个表形成一个环. 循环链表的操作和线性链表基本一致,仅有细微差别. w ...

  5. Chapter 4

    1.Python中有四种函数:全局函数,局部函数,lambda函数,方法.其中全局函数与局部函数对比理解,局部函数就是定义在某函数之内的函数,否则就是全局函数,lambda函数就是表达式,方法就跟对象 ...

  6. 小圣求职记A:腾讯篇

    本人普通985高校计算机专业研究生一枚,从9月12号开始正式找工作,一个月过去了,参加了能参加的各个互联网公司的宣讲.笔试.面试,现用两篇随笔分享所见所闻.随笔A将以腾讯为例详细展示整个过程,随笔B将 ...

  7. 【五】PHP数组操作函数

    1.输出数组的结构:bool print_r(数组); $arr=array('jack','mike','tom'); print_r($arr);//Array ( [0] => jack ...

  8. Find the smallest number whose digits multiply to a given number n

    Given a number ‘n’, find the smallest number ‘p’ such that if we multiply all digits of ‘p’, we get ...

  9. iOS-CALayer实现简单进度条

    /** *  用CALayer定制下载进度条控件 *  1.单独创建出CALayer *  2.直接修改CALayer的frame值,执行隐式动画,实现进度条效果 *  3.用定时器(NSTimer) ...

  10. JavaWeb-JDK下载安装

    JDK官方下载地址:http://www.oracle.com/index.html JDK下载: 64位的下64的 JDK安装:(这是32位的) JDK部署测试:(配置环境变量) JAVA_HOME ...