栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop集群优化

Hadoop集群优化

文章目录
  • Hadoop优化
  • 1、HDFS多目录
    • 1.1 NameNode的本地目录可以配置成多个,且每个目录存放内容相同,进而增加可靠性。
    • 1.2 DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)
    • 1.3 集群数据均衡之磁盘间数据均衡
  • 2、HDFS扩容与缩容
    • 2.1 白名单
    • 2.2 服役新服务器
    • 2.3 服务器间数据均衡
    • 2.4 黑名单退役服务器

Hadoop优化 1、HDFS多目录 1.1 NameNode的本地目录可以配置成多个,且每个目录存放内容相同,进而增加可靠性。
  • hdfs-site.xml添加如下内容

    
         dfs.namenode.name.dir
    file://${hadoop.tmp.dir}/dfs/name1,file://${hadoop.tmp.dir}/dfs/name2
    
    
  • 关闭集群

  • 删除每个节点的data和logs目录

  • 格式化集群

    hdfs namenode -format
    
  • 重启hdfs

    start-dfs.sh
    
  • 检查hadoop安装目录下/opt/module/hadoop-3.1.3/data/dfs,会发现有name1和name2且两者内容相同。

1.2 DataNode可以配置成多个目录,每个目录存储的数据不一样(数据不是副本)
  • hdfs-site.xml添加如下内容

    
         dfs.datanode.data.dir
         file://${hadoop.tmp.dir}/dfs/data1,file://${hadoop.tmp.dir}/dfs/data2
    
    
  • 关闭集群

  • 删除每个节点的data和logs目录

  • 格式化集群

    hdfs namenode -format
    
  • 重启hdfs

    start-dfs.sh
    
  • 检查hadoop安装目录下/opt/module/hadoop-3.1.3/data/dfs,上传文件后会发现有data1和data2且两者内容不相同。

1.3 集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性)

  1. 生成均衡计划(我们只有一块磁盘,不会生成计划)

    hdfs diskbalancer -plan hadoop103
    
  2. 执行均衡计划

    hdfs diskbalancer -execute hadoop103.plan.json
    
  3. 查看当前均衡任务的执行情况

    hdfs diskbalancer -query hadoop103
    
  4. 取消均衡任务

    hdfs diskbalancer -cancel hadoop103.plan.json
    
2、HDFS扩容与缩容 2.1 白名单

在白名单的主机IP地址可以,用来存储数据。

  1. 创建白名单、黑名单

    touch /opt/module/hadoop-3.1.3/etc/hadoop/whitelist
    touch /opt/module/hadoop-3.1.3/etc/hadoop/blacklist
    

    在whitelist中添加如下主机名称,假如集群正常工作的节点为102 103

    hadoop102
    hadoop103
    
  2. 在hdfs-site.xml中增加如下

    
         dfs.hosts
         /opt/module/hadoop-3.1.3/etc/hadoop/whitelist
    
    
    
    
         dfs.hosts.exclude
         /opt/module/hadoop-3.1.3/etc/hadoop/blacklist
    
    
  3. 分发配置文件whitelist,blacklist,hdfs-site.xml

  4. 第一次添加白名单必须重启集群,不是第一次,只需要刷新NameNode节点即可

    hdfs dfsadmin -refreshNodes
    
  5. 查看结果

  1. 二次修改白名单,增加hadoop104 ,分发

  2. 刷新NameNode

2.2 服役新服务器

环境准备:

  1. 在hadoop100主机上再克隆一台hadoop105主机

  2. 修改IP地址和主机名称

  3. 拷贝hadoop102的/opt/module目录和/etc/profile.d/my_env.sh到hadoop105并source

  4. 删除hadoop105上Hadoop的历史数据,data和log数据

    否则会报错:原因是因为节点id相同冲突了,这个id就在data目录中。将他删除后,重启105的hdfs会根据hdfs-site.xml中的配置信息自动创建一个新的data和logs目录。

  5. 配置hadoop102和hadoop103到hadoop105的ssh无密登录

  6. 直接启动DataNode,即可关联到集群

  7. 在白名单whitelist中增加hadoop104、hadoop105,并重启集群

  8. 分发至所有节点,包括hadoop105

  9. 刷新NameNode

    hdfs dfsadmin -refreshNodes
    
2.3 服务器间数据均衡
  1. 开启数据均衡命令

    start-balancer.sh -threshold 10
    

    对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。

  2. 停止数据均衡命令

    stop-balancer.sh
    

    由于HDFS需要启动单独的Rebalance Server来执行Rebalance操作,所以尽量不要在NameNode上执行start-balancer.sh,而是找一台比较空闲的机器。

2.4 黑名单退役服务器

在黑名单的主机IP地址不可以,用来存储数据。

企业中,配置黑名单,用来退役服务器。

  1. 编辑/opt/module/hadoop-3.1.3/etc/hadoop目录下的blacklist文件,添加准备退役的hadoop105

  2. 分发blacklist

  3. 第一次添加黑名单必须重启集群,不是第一次,只需要刷新NameNode节点即可

  4. 检查Web浏览器,退役节点的状态为decommission in progress(退役中),说明数据节点正在复制块到其他节点

  5. 等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。

    注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。

  6. 如果数据不均衡,可以用命令实现集群的再平衡。

    start-balancer.sh -threshold 10
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/673412.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号