一、分布式集群安装
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. JDBC数据库连接池原理

    JDBC是java数据库连接的简称.它是一种用于实行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成.其相关的API都在java.sql.*包下 ...

  2. C#简单windows服务

    因为做后台比较多,所以经常需要写一些后台服务.一般的流程是先创建一个服务项目,加入代码.然后打包一个安装程序或者直接用dos命令安装服务.下面是详细内容:    1. 创建windows服务项目.  ...

  3. 已有a,b两个链表,每个链表中的结点包括学号、成绩。要求把两个链表合并,按学号升序排列

    1.我的思路先将b链表连接在a链表的后面,这个很容易实现,将a链表最后的结点中的p.next改为指向b链表的头结点即可. 再将这个新链表用选择排序即可. 代码如下: #include<stdio ...

  4. Struct2、Hibernate3、Spring3框架搭建实战(转)

    采用目前最新的struts-2.3.1.2.hibernate3.6.10.Final.spring-framework-3.1.1.RELEASE开发包,以及eclipse-jee-indigo-S ...

  5. HDU 1104 Remainder

    与前一题类似,也是BFS+记录路径, 但是有很多BUG点, 第一MOD操作与%不同i,其实我做的时候注意到了我们可以这样做(N%K+K)%K就可以化为正数,但是有一点要注意 N%K%M!=N%M%K; ...

  6. BZOJ 1087状态压缩DP

    状态压缩DP真心不会写,参考了别人的写法. 先预处理出合理状态, 我们用二进制表示可以放棋子的状态,DP[I][J][K]:表示现在处理到第I行,J:表示第I行的状态,K表示现在为止一共放的棋子数量. ...

  7. 纯CSS3实现3D动画导航,html5 webRTC技术实现免费网页电话拨打

    花了一周的时间完成了 说吧 (免费网页电话) 的前端开发工作,先将技术点总结如下: 免费电话采用最新的html5 webRTC 技术 实现互联网和电信MIS网互通实现网页电话,目前只有 google ...

  8. 定位position详解:relative与absolute

    定位标签:position 包含属性:relative(相对) absolute(绝对) 1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设 ...

  9. MYSQL注入天书之stacked injection

    第三部分/page-3 Stacked injection Background-8 stacked injection Stacked injections:堆叠注入.从名词的含义就可以看到应该是一 ...

  10. Sqli-labs less 64

    Less-64 此处的sql语句为 $sql="SELECT * FROM security.users WHERE id=(($id)) LIMIT 0,1"; 示例payloa ...