大海123456的gravatar头像
大海123456 2018-12-20 16:43:29
BigData Platform

问题描述:

文件系统检查点已有 1 天,14 小时,36 分钟。占配置检查点期限 1 小时的 3,860.33%。 临界阈值:400.00%。 自上个文件系统检查点以来已发生 14,632 个事务。 

解决方法:

2个可能
1、namenode的Cluster ID 与 secondnamenode的Cluster ID 不一致,对比/dfs/nn/current/VERSION 和/dfs/snn/current/VERSION中的Cluster ID 来确认,如果不一致改成一致后重启应该可以解决。

2、修改之后还出现这个状况,查看secondnamenode 日志,报

ERROR: Exception in doCheckpoint java.io.IOException: Inconsistent checkpoint field

这个错误,直接删除 /dfs/snn/current/下所有文件,重启snn节点

 

问题描述:

已成功启用 High Availability。

完成本向导后必须手动执行下列步骤:

    – 对于每个 Hive 服务 Hive,停止 Hive 服务,将 Hive Metastore 数据库备份到永久性存储中,运行服务命令"更新 Hive Metastore NameNodes",然后重启 Hive 服务。

问题描述:

namenode standby的目录文件被我不小心删除了,无法进行格式化,也无法重启。

解决方法:

将活动的namenode数据目录下的所有文件拷贝一份过来重启即可。

 

问题描述:

Kettle中无法连接内网的Hadoop集群

解决方法:

这个问题还是因为我们集群的独立网段连接问题,首先需要在插件目录下,将hadoop集群的相关配置文件拷贝过来,否则后续会出现各种无法连接或者数据节点无法写入数据文件的问题:$KETTLE_HOME/plugins/pentaho-big-data-plugin/hadoop-configurations/cdh54

 

问题描述:

大数据平台服务器均为万兆双口网卡+千兆双口网卡,万兆网卡连接独立的光交换机以进行数据交换。千兆网卡连接外部其他的运营网段,以对外提供数据服务接口或者抽取数据。而目前大数据集群独立网段内连接可以正常进行数据交换和连接,但是在其他运营网段服务器中访问集群出现无法访问的问题。

解决方法:

修改文件:hdfs-site.xml,添加RPC配置:

<property>

  <name>dfs.namenode.rpc-bind-host</name>

  <value>0.0.0.0</value>

  <description>

    The actual address the RPC server will bind to. If this optional address is

    set, it overrides only the hostname portion of dfs.namenode.rpc-address.

    It can also be specified per name node or name service for HA/Federation.

    This is useful for making the name node listen on all interfaces by

    setting it to 0.0.0.0.

  </description>

</property>

<property>

  <name>dfs.namenode.servicerpc-bind-host</name>

  <value>0.0.0.0</value>

  <description>

    The actual address the service RPC server will bind to. If this optional address is

    set, it overrides only the hostname portion of dfs.namenode.servicerpc-address.

    It can also be specified per name node or name service for HA/Federation.

    This is useful for making the name node listen on all interfaces by

    setting it to 0.0.0.0.

  </description>

</property>

<property>

  <name>dfs.namenode.http-bind-host</name>

  <value>0.0.0.0</value>

  <description>

    The actual adress the HTTP server will bind to. If this optional address

    is set, it overrides only the hostname portion of dfs.namenode.http-address.

    It can also be specified per name node or name service for HA/Federation.

    This is useful for making the name node HTTP server listen on all

    interfaces by setting it to 0.0.0.0.

  </description>

</property>

<property>

  <name>dfs.namenode.https-bind-host</name>

  <value>0.0.0.0</value>

  <description>

    The actual adress the HTTPS server will bind to. If this optional address

    is set, it overrides only the hostname portion of dfs.namenode.https-address.

    It can also be specified per name node or name service for HA/Federation.

    This is useful for making the name node HTTPS server listen on all

    interfaces by setting it to 0.0.0.0.

  </description>

</property>

<property>

  <name>dfs.client.use.datanode.hostname</name>

  <value>true</value>

  <description>Whether clients should use datanode hostnames when

    connecting to datanodes.

  </description>

</property>

<property>

  <name>dfs.datanode.use.datanode.hostname</name>

  <value>true</value>

  <description>Whether datanodes should use datanode hostnames when

    connecting to other datanodes for data transfer.

  </description>

</property>

参考连接:http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html

 

添加以上配置之后已经可以正常和namenode进行交互,但是写入数据时却无法和datanode交互,按理说只要配置了dfs.client.use.datanode.hostname=true就可以实现和datanode之间通信,查看错误,内部对应的IP实际上是正确

的。在Cloudera Manager中我们发现很多地方默认配置的都是主机名+端口号,比如:dfs.datanode.address默认设置为:0.0.0.0:50010,但是CDH中修改为了 host:50010 导致数据节点之无法监听到另外一个网卡IP过来的数据。

这里只要将值修改为:0.0.0.0:50010即可。


打赏
最近浏览
二胖1234 2018年12月21日
暂无贡献等级
大海123456 2018年12月21日
暂无贡献等级
最代码官方  LV167 2018年12月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友