hadoop以及hive的日常使用

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文件中添加属性


        dfs.hosts
        /hadoop/etc/dfs.include.txt

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


            dfs.hosts.exclude
            /hadoop/etc/dfs.hosts.exclude.txt

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文件中添加属性


        yarn.resourcemanager.nodes.include-path
        /hadoop/etc/dfs.include.txt

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


            yarn.resourcemanager.nodes.exclude-path
            /hadoop/etc/dfs.hosts.exclude.txt

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的日常使用)