CDH6.3配置HDFS高可用,多NameNode

CDH6.3配置HDFS高可用,多NameNode,第1张

搭建HDFS的NameNode集群, 在单个NameNode宕机或繁忙时, 可以做故障转移和压力平摊配置的过程比较复杂, 网上的可查资料也很少

开启了高可用, 不需要SecondaryNameNode, 该角色并不具备故障转移的功能, 可以理解为一个备份点, 解读Secondary NameNode的功能

在只有一个NameNode的情况下, 必须配置SecondaryNameNode但多个NameNode的时候, 如果没删除会报错校验不通过, 这里先忽略不理

建议NameNode进行一次格式化, DataNode的数据目录进行清空, 生产环境慎重 *** 作. 重启的时候DataNode放在最后执行, 确保所有的节点都是正常的, 通过Hadoop的UI可以查看准确的状态(9870端口)如果在日志种出现如下报错, Block pool ID needed, but service not yet registered with NN

可尝试在每台DataNode将错误的文件删掉(/dfs/dn/current), 日志中有详细的打印, 删除之后节点状态恢复正常

执行hdfs的增删改查命令做测试, 如cat,ls,put,mkdir等, 通过即为正常

NameNode和Failover Controller所在的机器要一一对应, NameNode还要执行zkfc命令进行初始化, 在运行Controller要开启故障转移, 并要确保初始化Zk的命令

去NameNode的机器执行离开安全的 *** 作

/var/run的权限过大, 把/var/run/hdfs-sockets目录删掉或重新授权

在不开启高可用的时候, 必须配置SecondaryNameNode

官方NameNode高可用配置说明

解读Secondary NameNode的功能

Cannot find any valid remote NN to service request

1、yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

2、cd /opt/cloudera/parcel-repo

(1)将第一部分下载的CDH Parcel文件(CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcelCDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha256和manifest.json)上传至该目录下

(2)mv CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha256 CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha

(3)chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

3、将mysql-connector-java-5.1.47-bin.jar文件上传至CM Server节点上的/usr/share/java/目录下并重命名为mysql-connector-java.jar

4、安装 mysql(安装过程略),并创建相应库

mysql>CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci

mysql>CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci

mysql>CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci

mysql>CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci

mysql>GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm'

mysql>GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'amon'

mysql>GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman'

mysql>GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'hive'

mysql>FLUSH PRIVILEGES

mysql数据库与CM Server是同一台主机

执行命令:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm

mysql数据库与CM Server不在同一台主机上

执行命令:/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h --scm-host scm scm

5、启动cloudera-scm-server

systemctl start cloudera-scm-server

6、登录页面进行配置

ip:7180

继昨天解决Kafka的位移问题后,今天又发现一个hbase的region server无法重新启动的问题。这个server本身是有问题的,目前问题还未查。但是再重启的时候,会报三组错。其中一个明确为PG的错误,大意如下

首先想到的就是检查本地磁盘,发现其实并没有满,这就很奇怪了。之后想到CDH会使用pg,那就把这部分先了解下。

查询了一下,发现确实是的,会有一个地方存储着pg相关登录信息。按网文说是 /etc/cloudera-scm-server ,但我发现几个机器都只有 /etc/cloudera-scm-agent 。所以必须找到server的机器,而其他集群里的都是agent的机器。

找到这个机器后,发现确实是空间满了。

那么依次用 du -h --max-depth 1 命令查看目录,最终发现CDH的kafka manager的nohup文件是罪魁祸首。

用 >nohup.out 把文件清空,再用CDH重启节点就没有问题了!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11596913.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存