hdfs2

HDFS 2.x
1.解决HDFS 1.0中单点故障和内存受限问题。
解决单点故障
HDFS HA:通过主备NameNode解决
如果主NameNode发生故障,则切换到备NameNode上
解决内存受限问题
HDFS Federation(联邦)
水平扩展,支持多个NameNode;
(2)每个NameNode分管一部分目录;
(1)所有NameNode共享所有DataNode存储资源
2.x仅是架构上发生了变化,使用方式不变
对HDFS使用者透明
HDFS 1.x中的命令和API仍可以使用

各节点分布
配置:
1.name serivce 到物理节点的映射,1对2的关系 2. journalnode相关位置信息的描述 3. 发生故障代理切换时的免秘钥配置

2.部署:
先启动Journalnode (123台 hadoop-daemon.sh start journalnode),再触发格式化hdfs ( hdfs namenode -format )。然后启动格式化过的主NN (hadoop-daemon start namenode),另一台同步信息(hdfs namenode -bootstrapStandby)。

3.自动化
1),开启zkfc

dfs.ha.automatic-failover.enabled
true

2) 告诉zkfc zookeeper在哪里 搭建zookeeper必须在zookeeper格式化之前

ha.zookeeper.quorum
zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181

3) 格式化ZK,,不格式化 zookeeper启动有问题
$ hdfs zkfc -formatZK

4.zookeeper

tar -xf 解压安装 配置环境变量

更改配置文件:
1,zookeeper(配置)
conf/zoo.cfg(此文件是备份文件,源文件是 zoo_sample.cfg)
dataDir=/hadoop_data/zk 数据存放路径

server.1=192.168.111.52:2888:3888 两个端口号是为了保证分布式协调
server.2=192.168.111.53:2888:3888
server.3=192.168.111.54:2888:3888

/hadoop/zk
echo 1 > myid //数字根据节点规划 第二台用 2

启动 :zkServer.sh start
状态 :zkServer.sh status 启动的zookeeper过半才会有主从状态,启动过半时,ID最大的通常是leader,其他为从。

5.配置文件
node001和node002 互相免秘钥
拷贝hadoop为hadoopfull 。 hadoop做成HA的,hadoopfull是原来完全分布式的
HA模式没有SNN,由standby的NN替代
更改配置文件:
hdfs-site.xml:
逻辑名称 ,nameservice
dfs.nameservices
bjsxt

两个逻辑
dfs.ha.namenodes.bjsxt
nn1,nn2

到两个物理
dfs.namenode.rpc-address.bjsxt.nn1
node001:8020


dfs.namenode.rpc-address.bjsxt.nn2
node002:8020

逻辑到物理的映射
dfs.namenode.http-address.bjsxt.nn1
node001:50070


dfs.namenode.http-address.bjsxt.nn2
node002:50070

journalnodezz在哪 , 往哪写数据
dfs.namenode.shared.edits.dir
qjournal://node001:8485;node002:8485;node003:8485/mycluster

<property>             持久化数据存放的目录
    <name>dfs.journalnode.edits.dir</name>
    <value>/hadoop_data/ha/jn</value>  
</property>

故障切换的实现和代理
dfs.client.failover.proxy.provider.mycluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods
sshfence


dfs.ha.fencing.ssh.private-key-files
/root/.ssh/id_dsa 注意是 _dsa文件(有的是 _rsa)

HA自动化的故障转移 , 设为true 开启zkfc
dfs.ha.automatic-failover.enabled
true

core-site.xml
逻辑名称是入口,应该改为nameservice 即bjsxt,
fs.defaultFS
hdfs://bjsxt


hadoop.tmp.dir
/hadoop_data/ha

zklc会用到zookeeper,将定义过的zookeeper列表添加进来
ha.zookeeper.quorum
node002:2181,node003:2181,node004:2181

6.启动
先启动zookeeper(一定):zkServer.sh start
再启动集群。

7…难免有疏漏,其实看着官方教程就可以了,重要的是配置文件要注意,格式化时要注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值