伪分布式:在一个节点启动所有的角色:NN、DN、SNN 完全分布式: 基础环境 部署配置 1)角色在哪里启动 NN:core-site.xml: fs.defaultFS hdfs://node01:9000 DN: slaves node01 SNN: hdfs-site.xml: dfs.namenode.secondary.http-address node01:50090 2)角色启动时的细节配置 dfs.namenode.name.dir dfs.datanode.data.dir 初始化&启动 格式化 fsimage VERSION start-dfs.sh 加载我们的配置文件 通过ssh 免密的方式去启动相应的角色 伪分布式到完全分布式:重新规划角色 host NN SNN DN node01 1 node02 1 1 node03 1 node04 1
node01:
stop-dfs.sh
ssh 免密是为了什么:启动start-dfs.sh:在哪里启动,那台就要对别人公开自己的公钥
这一台有什么特殊要求吗:没有
node01:
scp /root/.ssh/id_dsa.pub node02:/root/.ssh/node01.pub
scp /root/.ssh/id_dsa.pub node03:/root/.ssh/node01.pub
scp /root/.ssh/id_dsa.pub node04:/root/.ssh/node01.pub
node02:
cd ~/.ssh
cat node01.pub >> authorized_keys
node03:
cd ~/.ssh
cat node01.pub >> authorized_keys
node04:
cd ~/.ssh
cat node01.pub >> authorized_keys
配置部署:
node01:
cd $HADOOP/etc/hadoop
vi core-site.xml 不需要改
vi hdfs-site.xml
dfs.replication
2
dfs.namenode.name.dir
/var/bigdata/hadoop/full/dfs/name
dfs.datanode.data.dir
/var/bigdata/hadoop/full/dfs/data
dfs.namenode.secondary.http-address
node02:50090
dfs.namenode.checkpoint.dir
/var/bigdata/hadoop/full/dfs/secondary
vi slaves
node02
node03
node04
分发:
cd /opt
scp -r ./bigdata/ node02:pwd
scp -r ./bigdata/ node03:pwd
scp -r ./bigdata/ node04:pwd
格式化启动
hdfs namenode -format
start-dfs.sh
hadoop-hdfs-ha
思路:
主从集群:结构相对简单,主与从协作
主:单点,数据一致好掌握
问题:
单点故障,集群整体不可用
压力过大,内存受限
解决方案:
单点故障:
高可用方案:HA(High Available)
多个NN,主备切换,主
压力过大,内存受限:
联邦机制:Federation(元数据分片)
多个NN,管理不同的元数据
HADOOP 2.X只支持HA的一主一备
HDFS-HA解决方案:
NameNode元数据:
1.client交互操作mkdir /a
2.DataNode提交的block
HA:数据同步(client的操作)
分布式:强一致性破坏可用性
ZK:
1.目录树结构:X节点B
抢锁
2.事件机制->call back
watch监控
3.临时节点
在HA模式中没有SNN
Standby角色滚动落fsimage
SNN(非HA模式)
CAP原则:
Consistency:一致性
Availability:可用性
Partition tolerance:分区容忍性
CA: RDBMS
CP: MongoDB、HBase、Redis
AP:CouchDB、Cassandra、DynamoDB、Riak
Paxos算法:
Paxos算法四莱斯利·兰伯特于1990年提出的一种基于消息传递的一致性算法。
这个算法被认为是类似算法中最有效的。
该算法覆盖了全部场景的一致性。
每种技术会根据自己技术的特征选择简化算法实现。
传递:NN之间通过一个可靠的传输技术,最终数据能同步就可以
我们一般假设网络等因素是稳定的
类似一种带存储能力的消息队列。
简化思路:
分布式节点是否明确
节点权重是否明确
强一致性破坏可用性
过半通过可以中和一致性和可用性
最简单的自我协调实现:主从
主的选举:明确节点数量和权重
主从的职能:
主:增删改查
从:查询,增删改传递给主
主与从:过半数同步数据
HA方案:
多台NN主备模式,Active和Standby状态
Active
HDFS-Federation解决方案:
NN