大数据之HDFS完全分布式搭建

3 篇文章 0 订阅
3 篇文章 0 订阅

完全分布式搭建是在上一篇伪分布式搭建的基础上搭建的,基础hdfs搭建查看上篇详情

目录

        角色定义

服务器配置

ssh免密

hdfs配置文件

分发到其他机器

格式化&启动

验证

思考

 

角色定义

服务器NameNodesecondaryNameNodeDataNode
node01*  
node02 **
node03  *
node04  *

 


 

  • 服务器配置

1. 创建同node01一样的其他三台服务器 node02,node03, node04,创建方式参照大数据之Linux环境搭建文章。

2. 停止node01 服务器上的HDFS伪分布式进程

  • ssh免密

#    设置免密是为了集群启动时,start-dfs.sh脚本管理集群,在node01启动,就将node01的公钥分发给其他三台机器,node01就可以对其他三台进行免密登陆。

#    操作 (将node01 的公钥分发给其他机器,并同意命名为node01.pub)

#    在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-node04进行操作:
$    cd ~/.ssh
$    cat node01.pub >> authorized_keys
  • hdfs配置文件

#    在node01上先将之前的伪分布式hdfs文件备份
$    cp -r /opt/bigdata/hadoop /opt/bigdata/hadoop_local

$    cd $HADOOP_HOME/etc/hadoop

$    vi hdfs-site.xml
    
         <configuration>
            <property>
                <name>dfs.replication</name>
                <value>2</value>
            </property>
            <property>
                <name>dfs.namenode.name.dir</name>
                <value>/var/bigdata/hadoop/full/dfs/name</value>
            </property>
            <property>
                <name>dfs.datanode.data.dir</name>
                <value>/var/bigdata/hadoop/full/dfs/data</value>
            </property>
            <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>node02:50090</value>
            </property>
            <property>
                <name>dfs.namenode.checkpoint.dir</name>
                <value>/var/bigdata/hadoop/full/dfs/secondary</value>
            </property>
        </configuration>

#    定义DataNode服务器
$    vi slaves
            node02
            node03
            node04
  • 分发到其他机器

#    将node01上配置好的hdfs分发到node02-node04三台机器上
$    cd /opt
$    scp -r ./bigdata/hadoop-2.6.5  node02:`pwd`
$    scp -r ./bigdata/hadoop-2.6.5  node03:`pwd`
$    scp -r ./bigdata/hadoop-2.6.5  node04:`pwd`

  • 格式化&启动

#    格式化<仅在集群搭建时候执行一次,切勿重复执行>
$    hdfs    namenode -format

#    启动
$    start-dfs.sh
  • 验证

#    在node01
$    cd /var/bigdata/hadoop/full/dfs/name/current
$    ll
#    查看有无fsimage和edits

$    cat VERSION
        namespaceID=11****40
        clusterID=CID-*********-ce2b69c7f658
        cTime=0
        storageType=NAME_NODE
        blockpoolID=BP-*****-1595910068876
        layoutVersion=-63

#    在node02
$    cd /var/bigdata/hadoop/full/dfs
$    ll
#    查看是否存在data和secondary两个文件目录
$    cd /secondary/current
$    ll
$    cat VERSION
        namespaceID=11****40
        clusterID=CID-****-ce2b69c7f658
        cTime=0
        storageType=NAME_NODE
        blockpoolID=BP-****-1595910068876
        layoutVersion=-63

#    在node02-node04验证DataNode
$    cd /var/bigdata/hadoop/full/dfs/data/current
$    cat VERSION
        storageID=DS-****-2d900c512332
        clusterID=CID-****-ce2b69c7f658
        cTime=0
        datanodeUuid=c8c8d695-****-0ada39a4c710
        storageType=DATA_NODE
        layoutVersion=-56


#    查看clusterId是否都相同

hdfs-site.xml 

 <configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/var/bigdata/hadoop/full/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/var/bigdata/hadoop/full/dfs/data</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node02:50090</value>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>/var/bigdata/hadoop/full/dfs/secondary</value>
    </property>
</configuration>

  • 思考

优点:主从集群,机构相对简单,主从协作,主单点,数据一致性好掌握

问题:

1.namenode单点故障,造成集群整体不可用

2.单点压力过大,内存受限

解决方案:

1.单点故障: 采用高可用方案HA(High Avaliable), 多个namenode,主备切换

2.压力过大,内存受限:采用联邦机制Federation,对元数据进行分片,用多个namenode管理不同的元数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值