美文网首页
hadoop以及hive的日常使用

hadoop以及hive的日常使用

作者: coderLumia | 来源:发表于2019-05-26 20:38 被阅读0次

    Attention

    1. 使用java操作hadoop、hive时,所需要的jar包尽量与hadoop、hive的版本一致,否则可能会出现一些莫名其妙的问题。

    2.开启hiveserver2后台运行
    hivemetastore:nohup hive --service metastore &
    hvieserver2:nohup hive --service hiveserver2 &

    3.配置hadoop的最小blocksize,必须是512字节的倍数。因为datanode进行写操作时,每512字节进行校验.

    4.HDFS中的块(block)大小为什么为128M?

    • 磁盘的平均寻址时间大概为10ms
    • 经过测试,寻址时间为传输时间的1%时,为最佳状态
    • 目前的磁盘传输速率普遍为100MB/s
    • 计算最佳的block大小为 100MB * 1S = 100MB,所以设定block大小为128MB

    5.查看hadoop镜像文件

    • fsimage文件包含文件系统中的所有目录和文件inode的序列化信息
    • 每个inode是一个文件或者目录的元数据的内部描述信息
    • 对于文件来说,包含的信息有“副本级别”(replication level)、修改时间和访问时间、访问许可、、块大小、组成一个文件的块等
    • 对于目录来说,包含的信息有修改时间、访问许可和配额元数据等信息
    • 数据块存储在datanode中,但fsimage文件并不描述datanode,取而代之的是,namenode将这种块映射关系放在内存中。当datanode加入集群时。namenode向datanode索取块列表以建立块映射关系;namenode还将定期征询datanode以确保它拥有最新的块映射
      hdfs oiv -i fsimage -o fsimage.xml -p XML

    6.查看edits编辑日志

    • edits记录对文件或目录的修改信息
      hdfs oev -i edits -o edits.xml -p XML

    7.HDFS的启动流程

    • loading fsimage
    • loading edits
    • saving checkpoint
    • safe mode

    8.HDFS管理命令
    hdfs dfsadmin

    9.节点的服役与退役
    添加新节点
    1.在dfs.include文件中包含新节点名称,该文件在namenode的本地目录
    [master:/hadoop/etc/dfs.include.txt] 文件不需要分发到节点
    node1
    node2
    node3
    node4 (新节点)
    2.在hdfs-site.xml文件中添加属性

    <property>
            <name>dfs.hosts</name>
            <value>/hadoop/etc/dfs.include.txt</value>
    </property>
    

    3.在namenode上刷新节点
    hdfs dfsadmin -refreshNodes
    4.在slaves文件中添加新节点ip
    node1
    node2
    node3
    node4 (新节点)
    5.单独启动新的节点中的datanode
    [node4]
    hadoop-daemon.sh start datanode
    节点退役
    1.添加退役节点的ip到黑名单,不要更新白名单
    [master:/hadoop/etc/dfs.hosts.exclude.txt]
    node4 (退役节点)
    2.配置hdfs-site.xml

    <property>
                <name>dfs.hosts.exclude</name>
                <value>/hadoop/etc/dfs.hosts.exclude.txt</value>
    </property>
    

    3.刷新namenode节点
    hdfs dfsadmin -refreshNodes
    4.查看webui,节点状态在decommisstion in progress
    5.当所有的要退役的节点都报告为Decommissioned,数据转移工作已经完成
    6.从白名单删除节点,并刷新节点
    [master:/hadoop/etc/dfs.include.txt]
    node4删除
    hdfs dfsadmin -refreshNodes
    7.从slaves文件中删除退役节点

    10.节点的服役与退役(yarn)
    **添加新节点
    1.在dfs.include文件中包含新节点名称,该文件在namenode的本地目录
    [master:/hadoop/etc/dfs.include.txt]
    node1
    node2
    node3
    node4 (新节点)
    2.在yarn-site.xml文件中添加属性

    <property>
            <name>yarn.resourcemanager.nodes.include-path</name>
            <value>/hadoop/etc/dfs.include.txt</value>
    </property>
    

    3.在namenode上刷新节点
    yarn rmadmin -refreshNodes
    4.在slaves文件中添加新节点ip
    node1
    node2
    node3
    node4 (新节点)
    5.单独启动新的节点中的datanode
    [node4]
    yarn-daemon.sh start nodemanager
    节点退役
    1.添加退役节点的ip到黑名单,不要更新白名单
    [master:/hadoop/etc/dfs.hosts.exclude.txt]
    node4 (退役节点)
    2.配置yarn-site.xml

    <property>
                <name>yarn.resourcemanager.nodes.exclude-path</name>
                <value>/hadoop/etc/dfs.hosts.exclude.txt</value>
    </property>
    

    3.刷新resourcManager节点
    yarn rnadmin-refreshNodes
    4.查看webui,节点状态在decommisstion in progress
    5.当所有的要退役的节点都报告为Decommissioned,数据转移工作已经完成
    6.从白名单删除节点,并刷新节点
    [master:/hadoop/etc/dfs.include]
    node4删除
    yarn rmadmin -refreshNodes
    7.从slaves文件中删除退役节点

    相关文章

      网友评论

          本文标题:hadoop以及hive的日常使用

          本文链接:https://www.haomeiwen.com/subject/qegftctx.html