BD

root 123456

第3章

3.1 分布式部署

3.2 分布式服务框架

3.3 HDDF HA架构部署测试
HA(高可用性): 有两台NameNode
3.4 高级特性

3.5 YARN HA架构部署测试

部署分类

  • 本地模式

  • 分布式模式
    伪分布式:一台机器运行所有的守护进程,从节点(DataNode、NodeManager)只有一个。
    完全分布式:其与伪分布式最大的区别是 有多个从节点(DataNodes、NodeManagers),多个节点需要在配置文件($HADOOP_HOME/etc/hadoop/slaves)中进行配置
    测试的是三台机器

  • 生产中需要配置固定IP地址
 ifconfig
 hostname
  • 规划机器
192.168.217.131192.168.217.132192.168.217.133
hadoop-seniorhadoop-senior02hadoop-senior03
1.5G内存1G内存1G内存
1 CPU1CPU1CPU
  • linux改变网卡名称
vim /etc/udev/rules.d/70-persistent-net.rules
vim /etc/sysconfig/network-scripts/ifcfg-eth0

用主机名代替ip,当ip发生改变时,不会影响系统运行。

配置映射

 /etc/hosts
 IP   带域名的主机 主机
 1.1.1.1 host_name.my.com host_name
  • HDFS规划
192.168.217.131192.168.217.132192.168.217.133
hadoop-seniorhadoop-senior02hadoop-senior03
NameNode
DataNodeDataNodeDataNode
SecondaryNameNode
  • YARN规划
192.168.217.131192.168.217.132192.168.217.133
hadoop-seniorhadoop-senior02hadoop-senior03
ResourceManager
NodeManagerNodeManagerNodeManager
  • MapReduce规划
192.168.217.131192.168.217.132192.168.217.133
hadoop-seniorhadoop-senior02hadoop-senior03
JobHistoryServer

配置

  • hdfs
hadoop-env.sh
NameNode在 core-site.xml 中配置
SecondaryNameNode 在 hdfs-site.xml 中配置
DataNode在 slaves 中配置
  • yarn
 yarn-env.sh
 ResourceManager 在 yarn-site.xml 中配置
 NodeManager在 slaves 中配置
  • mapreduce
 mapred-env.sh
 JobHistoryServer在 mapred-site.xml 中配置

免密码登录

cd
cd .ssh/
ssh-copy-id host_name
 ssh-keygen -t rsa
 ssh-copy-id host_name

拷贝(分发)文件

scp -r file_path user_name@host_name:file_path

启动集群

在 hadoop-senior机器上:
bin/hdfs namenode -format
启动 hdfs
sbin/start-dfs.sh

单独脚本启动:
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start nodemanager

启动yarn
sbin/start-yarn.sh

集群基本测试

    服务是否启动,是否可用,简单的应用
    hdfs
        读写操作
    yarn
        运行一个程序 run jar
    mapreduce
        bin/yarn jar share/hadoop/input output_path

集群基准测试

    测试集群的性能
    hdfs
        写数据
        读数据
监控集群
    cloudera
    cloudera manager
        部署、安装集群
        监控集群
        配置、同步集群
        预警集群

集群的时间需要同步

    确定一台机器
        作为时间服务器
    所有的机器与这台机器进行定时的同步
        比如,每天十分钟同步一次时间

ntp时间同步服务

vim /etc/ntp.conf
vim /etc/sysconfig/ntpd
    SYNC_HWCLOCK=yes

service ntpd status
service ntpd start
永久启动
chkconfig ntp on

3.2 分布式服务框架 zookeeper

3.3 HA

NameNode Active
NameNodeStandby (Standby:备用品)

SPOF 单点故障

配置HA的要点

share edits:JournalNode
NameNode Active、NameNode Standby
client -> proxy
fence:同一时刻仅仅有一个NameNode对外提供服务

HA规划Cluster

192.168.217.131192.168.217.132192.168.217.133
hadoop-seniorhadoop-senior02hadoop-senior03
NameNodeNameNode
ZKFCZKFC
JournalNodeJournalNodeJournalNode
DataNodeDataNodeDataNode
  • 有HA的话,就不需要SecondaryNode。因为不用下次启动,当前NameNode(active)不可用时,会切到NameNode(standby);也不需要SecondaryNode合并 fsimage与edits文件,NameNode(standby)会进行合并。

联盟:可以有多个NameNode,每个NameNode管理自己的DataNode

HA配置参考

使用 sshfence
两个NameNode之间能够ssh无密码登录
131 -> 132 ssh
132 -> 131 ssh

  • 格式化只会影响 NameNode,不会对 DataNode 起作用,格式化是抽象概念,会建立 fsimage 和 edites 文件。开始时, HA 的其他 NameNode 只需要同步格式化的 NameNode 上的数据就可以了。

bin/hdfs haadmin
HA
自动故障转移 需要 zookeeper

failover

启动后都是 standby
选举一个为active
监控
ZKFC failoverController
高级特性
HA QJM
联盟
快照
集中式缓存管理
分布式拷贝
当hadoop版本号不同时,要使用HFTP

hadoop distcp -i hftp://sourceFS:50070/src hdfs://destFS:8020/dest

YARN HA
ResourceManager
管理机器资源
分配调度资源
NodeManager

应用
云盘存储系统
三大发行版本
项目实战
版本
apache : 实际使用的并不多,最原始(基础)的版本
cloudera :
Hortonworks :看文档,文档写的好

日志分析
分析日志各各字段
清晰日志
数据量 : 40、50G内容
数据符合要求
实际情况:数据不符合要求
数据质量
对原始数据进行清洗 – mapreduce
往往数据的不合格,导致应用程序出问题,空指针异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

电猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值