Hadoop 3.x搭建基础HDFS集群

17 篇文章 0 订阅
16 篇文章 1 订阅
与Hadoop 2.x相比,它有一些新的特性如下:
  1. 基于JDK 1.8
  1. HDFS可擦除编码
  2. MR Native Task优化
  3. 基于Cgroup的内存隔离和IO Disk隔离
  4. 更改分配容器资源Container resizing
  5. ……
 
Hadoop 3 HDFS的架构
HDFS集群架构包含如下:NameNode、DataNode、Secondary NameNode
  1. NameNode
        接收客户端的读写服务
  1. DataNode
        简称为DN,主要用来存储数据内容。本地磁盘目录存储数据块Block,以文件形式分别存储在不同的DataNode节点上,同时存储Block的元数据信息文件
  1. Secondary NameNode
        NameNode把元数据存储在内存中,为了保证数据不丢失,需要把数据保存起来,这里的文件包含fsimage和edits。fsimage是整个元数据文件,在集群刚开始搭建的时候时空的,对元数据增删改的操作放在edits文件中,Secondary NameNode完成数据的合并操作,每隔3600秒更新一次
 
Hadoop 3配置
  1. 部署配置
            Hadoop的配置涉及到以下几个文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、works
                hadoop-env.sh:表示Hadoop运行环境变量配置
                core-site.xml:公共属性配置文件
                hdfs-site.xml:HDFS属性配置文件
                works:DataNode分布配置
        
        2. 配置 hadoop
            hadoop-env.sh
                在这个配置文件中主要配置的信息哪下:
                    exprot JAVA_HOME=/usr/java/jdk1.8.0_251-amd64               #这里配置JAVA_HOME目录位置
                    export HDFS_NAMENODE_USER=root                                    #这里指定了操作NameNode的用户
                    export HDFS_DATANODE_USER=root                                     #这里指定了操作DataNode的用户
                    export HDFS_SECONDARYNAMENODE_USER=root                #这里指定了操作SecondaryNameNode的用户 
 
            core-site.xml
                在这个配置中主要配置hadoop的公共属性
                <configuration>
                    <property>
                        <name>fs.defaultFS</name>
                        <value> hdfs://node1:9820</value>
                    </property>
                    <property>
                        <name>hadoop.tmp.dir</name>
                        <value>/opt/hadoopdata</value>
                    </property>
                </configuration>
                上面配置说明:fs.defaultFS指定了NameNode所在的节点,这里配置为node1,其中端口号为:9820,协议为:hdfs
                                        hadoop.tmp.dir指定了元数据所存放的配置,未来需要查询fsiamge和edits文件时可以在这个目进行查询
 
            hdfs-site.xml
                在这个配置中主要是HDFS属性
                <configuration>
                    <property>
                        <name>dfs.namenode.Secondary.http-address</name>
                        <value>node2:9868</value>
                    </property>
                </configuration>
                上面配置说明:dfs.namenode.Secondary.http-address表示配置SecondaryNameNode的节点,这里节点配置为node2,端口号为:9868
 
            workers
                在workers中配置DataNode节点
                配置为如下:
                    node1
                    node2
                    node3
 
        3. 将配置好的hadoop复制到其它的节点当中
            注意:在完成了NameNode的配置后需要把这个配置好的hadoop复制到其它的节点上 去
            scp -r ./hadoop-3.1.3 root@node2:/root/software/
            scp -r ./hadoop-3.1.3 root@node3:/root/software/
 
        4. 格式化hadoop
            对Hadoop进行格式化
                hdfs namenode -format
            格式化后会在/opt/hadoopdata/dfs/name/current中看到生成fsimage文件,这个时候是不会有edits文件的
 
        5. 启动HDFS集群
            start-dfs.sh
 
        6. 查看不同节点中的进程
            jps
 
        7. 在浏览器中访问查看HDFS监听页面
             http:// ip:9870/ 
        
 
        8. 向hdfs中上传文件
            hdfs dfs -put test.txt /      #把当前目录下的text.txt文件上传至HDSF /目录
            上传完成后可以在HDFS监听页面看到上传的文件
            
            
            在第一次上传时出现报错:
                File /input/test.txt._COPYING_ could only be replicated to 0 nodes……
                解决方法:
                  停止集群:stop-all.sh
                    删除在hdfs中配置的data目录(即在core-site.xml中配置的hadoop.tmp.dir对应文件件)下面的所有数据
                 重新格式化namenode
                 启动集群:start-dfs.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值