CM和CDH安装过程中遇到的问题

1、CM和CDH在安装的时候遇到的问题:

  • 通过Cloudera WEB界面安装Hadoop过程中,在安装Parcel步骤时,一个节点分配激活失败,报错信息显示”主机运行状况不良”,如下图所示。

解决方法:删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。那一台服务器的状况不良,在哪一台中执行。

cd /var/lib/cloudera-scm-agent/

rm -rf cm_guid

service cloudera-scm-agent restart

再次去新建集群的时候,会出现CDH 主机准备就绪,无法继续问题。

这个时候需要在CM的主页面删除主机中的管理的几台服务器。然后再去添加集群,在集群搜索的旁边有管理的机器。

2、Hadoop之——format格式化失败:

原因:Namenode和DataNode的曾今留下来的信息未删除。

它的目录信息在hdfs-site.xml中。

<property>

    <name>dfs.name.dir</name>

    <value>/usr/local/hadoop/hdfs/name</value>

</property>

<property>

    <name>dfs.data.dir</name>

    <value>/usr/local/hadoop/hdsf/data</value>

</property>

将 dfs.name.dir所指定的目录删除、dfs.data.dir所指定的目录删除,及我们需要删除hdfs-site.xml中配置的存储信息路径。

3、HDFS-副本不足的块,报错信息:

测试 HDFS 是否具有过多副本不足块。

不良 : 群集中有 8 个 副本不足的块 块。群集中共有 11 个块。百分比 副本不足的块: 72.73%。 临界阈值:40.00%。

操作

为此服务更改“副本不足的块监控阈值”。

建议

这是 HDFS 服务级运行状况测试,用于检查副本不足的块数是否未超过群集块总数的某一百分比。

该运行状况测试失败可能表示 DataNode 丢失。使用 HDFS fsck 命令可确定哪些文件含有副本不足的块。

可使用 副本不足的块监控阈值 HDFS 服务范围内的监控设置配置该测试。

原因:设置的副本备份数与DataNode的个数不同。

dfs.replication的默认是3,也就是说副本数--块的备份数默认为3份。

但是我这只有两个DataNode。所以导致了达不到目标,副本备份不足。

解决方案:

  1. 设置目标备份数为2

  2. 通过命令修改当前备份数

点击集群-HDFS-配置,搜索dfs.replication,设置为2后保存更改。

dfs.replication这个参数其实只在文件被写入dfs时起作用,虽然更改了配置文件,但是不会改变之前写入的文件的备份数。

所以我们还需要步骤2,在cm0中通过命令更改备份数:

这里的-R 2的数字2就对应我们的DataNode个数。

su  hdfs

hadoop fs -setrep -R 2 /

4、如果你不想使用CM自带的内置数据库,可以使用Mysql和Oracle和postgresql。

sh /usr/share/cmf/schema/scm_prepare_database.sh [postgresql|mysql|oracle] -h hostname -P port database username password

sh /usr/share/cmf/schema/scm_prepare_database.sh oracle -h 12.99.106.111 orcl mjj 123456

postgresql和mysq和oracle都会在/etc/cloudera-scm-server/目录下生成新的db.properties配置文件,但是其中posrtgresql还会自动生成数据库,而mysql和oracle不会。有些版本的mysql会,但还是保险的创建为好。

5、在安装CM的时候又遇到了一个坑。发现在集群安装的第一步中,Parcel设置好了地址却无法保存。然后看了一下控制台,发现可能是mysql的编码的问题,导致数据无法保存。

解决方案:把mysql中的cm数据库删除,然后重新创建并同时设置好了编码格式为utf8。然后重新连接cm,生成表。

猜你喜欢

转载自blog.csdn.net/sileiH/article/details/81735457