《OD学hadoop》第三周0710
一、分布式集群安装
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环境部署搭建
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的更多相关文章
- 《OD学hadoop》第二周0702
大数据离线计算hadoop2.x 三周(6天) markdown文本剪辑器 罗振宇--跨年演讲,时间的朋友 http://tech.163.com/16/0101/11/BC87H8DF000915B ...
- 《OD学hadoop》第二周0703
hdfs可视化界面: http://beifeng-hadoop-01:50070/dfshealth.html#tab-overview yarn可视化界面: http://beifeng-hado ...
- 《OD学hadoop》第一周0625
一.实用网站 1. linux内核版本 www.kernel.org 2. 查看网站服务器使用的系统 www.netcraft.com 二.推荐书籍 1. <Hadoop权威指南> 1- ...
- 《OD学hadoop》第一周0626 作业二:Linux基础
一.打包压缩 知识点: tar -zxvf -C PATH tar -jxvf tar -zcvf tar -jcvf tar:打包命令 -z 打包同时gzip压缩 -j 打包同时bzip2 -c 打 ...
- 《OD学hadoop》第一周0626
一.磁盘管理 Linux添加新硬盘.分区.格式化.自动挂载 http://lxsym.blog.51cto.com/1364623/321643 给Linux系统新增加一块硬盘 http://www. ...
- 《OD学hadoop》第一周0625 LINUX作业一:Linux系统基本命令(一)
1. 1) vim /etc/udev/rules.d/-persistent-net.rules vi /etc/sysconfig/network-scripts/ifcfg-eth0 TYPE= ...
- 《OD学hadoop》第三周0709
一.MapReduce编程模型1. 中心思想: 分而治之2. map(映射)3. 分布式计算模型,处理海量数据4. 一个简单的MR程序需要制定map().reduce().input.output5. ...
- 2017-2018-1 我爱学Java 第三周 作业
Team Presentation 团队展示 队员学号 队名 团队项目描述 队员风采 团队首次合照 团队的特色描述 团队初步合作 前两周合作过程中的优缺点 如何改进 团队选题 确立,建立和初步熟悉团队 ...
- 《OD学hadoop》20160903某旅游网项目实战
一.大数据的落地点 1.数据出售 数据商城:以卖数据为公司的核心业务 2. 数据分析 百度统计 友盟 GA IBM analysis 3.搜索引擎 4. 推荐系统 mahout 百分比 5.精准营销 ...
随机推荐
- 6 高级IO函数
6.1 pipe函数 pipe函数创建一个管道,用于实现进程间通信 #include<unistd.h> ]); 参数包含两个文件描述符fd[0]和fd[1],往fd[1]写入的数据可以从 ...
- Hbase的连接池--HTablePool被Deprecated之后
说明: 最近两天在调研HBase的连接池,有了一些收获,特此记录下来. 本文先将官方文档(http://hbase.apache.org/book.html)9.3.1.1节翻译,方便大家阅读,然 ...
- nodeJs入门篇之认识nodejs
摘要:将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开 ...
- ubuntu学习之一
1终端 在右键后菜单中找到 终端,(如果没有终端,使用 Ctrl+Alt+[F1~F6] ,您可以切换到1~6号控制台,输入: sudo apt-get install nautilus-open-t ...
- Sqli-labs less 46
Less-46 从本关开始,我们开始学习order by 相关注入的知识. 本关的sql语句为$sql = "SELECT * FROM users ORDER BY $id"; ...
- python笔记1
1.python中的语句块是用缩进表示,并不像C类语言中用{}表示语句块,还有就是语句块的开始貌似是用:表示,然后C类语言中()在python中用"空格"表示了,例如python中 ...
- 7 天玩转 ASP.NET MVC — 第 6 天
目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第六天的 MVC 系列学习中.希望你在阅读此篇文章的时候,已经学习了前五天的内容,这也是第 ...
- SQL技术内幕-8 使用WITH AS提高性能简化嵌套SQL
--本文来源:http://www.cnblogs.com/fygh/archive/2011/08/31/2160266.html 一.WITH AS的含义 WITH AS短语,也叫做子查询部分(s ...
- 深入浅出ES6(八):Symbols
作者 Jason Orendorff github主页 https://github.com/jorendorff 你是否知道ES6中的Symbols是什么,它有什么作用呢?我相信你很可能不知道, ...
- Core Animation2-CABasicAnimation
CABasicAnimation是CAPropertyAnimation的子类,使用它可以实现一些基本的动画效果,它可以让CALayer的某个属性从某个值渐变到另一个值.下面就用CABasicAnim ...