关于Hadoop重新格式化之后集群的崩溃题目
写在前面
版本信息
- Linux版本:CentOS7.5
- JDK版本:JDK1.8
- Hadoop版本:Hadoop-3.1.3
- MySQL版本:MySQL5.7
- Hive版本:Hive-3.1.2
- ZooKeeper版本:ZooKeeper-3.5.7
- HBase版本:HBase-2.0.5
- 环境:完全分布式环境(三台节点)
实行场景
VM Ware下搭建的虚拟机中,其中一台(hdp03)的磁盘空间占比远高于其他两台(hdp01<hdp02)虚拟机的磁盘空间占比。
清理步调下文会提到,此处先看一下清理结果,如下图所示:
可以看到,虚拟机磁盘清理乐成了。
Hive
Hive交互段查询报错
报错信息:FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
原因分析
无法启动元数据服务导致查询失败
解决方法
手动启动元数据服务
手动启动下令如下,启动后,重开一个shell窗口,进入到Hive交互端,重新查询
- [whybigdata@hdp01 hive-3.1.2]$ hive --service metastore
复制代码
- 有关元数据的设置文件是:hive-site.xml
- <!-- 指定存储元数据要连接的地址 -->
- <property>
- <name>hive.metastore.uris</name>
- <value>thrift://hdp01:9083</value>
- </property>
复制代码 重新初始化元数据库
如果手动启动元数据服务后照旧出现相同的错误,那请实行重新初始化元数据库
- 进入到MySQL客户端,删除metastor库,并重新创建metastore库
- [yoona@hdp01 hive-3.1.2]$ mysql -u root -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 23
- Server version: 5.7.28 MySQL Community Server (GPL)
- Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
- Oracle is a registered trademark of Oracle Corporation and/or its
- affiliates. Other names may be trademarks of their respective
- owners.
- Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | metastore |
- | mysql |
- | performance_schema |
- | sys |
- +--------------------+
- 5 rows in set (0.01 sec)
- mysql> drop database metastore;
- .......
- mysql> create database matestore;
复制代码
- [whybigdata@hdp01 ~]$ sschematool -initSchema -dbType mysql -verbose
复制代码
HBase
进程正常
报错信息如下:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
查察日志:hbase-whybigdata-master-hdp01.log和 hbase-whybigdata-regionserver-hdp01.log都没有题目
重新彻底初始化
删除目录之前,先 /hbase 目录的修改权限
- [whybigdata@hdp01 hbase-2.0.5]$ bin/stop-hbase.sh
- [whybigdata@hdp01 hadoop-3.1.3]$ bin/hdfs dfs chmod -R 777 /hbase
- [whybigdata@hdp01 hadoop-3.1.3]$ bin/hdfs dfs -rm -r /hbase
复制代码 修改权限前后:
- 删除ZooKeeper上的inode节点内容 /hbase
- [whybigdata@hdp01 zookeeper-3.5.7]$ bin/zkCli.sh
- [zk: localhost:2181(CONNECTED) 5] deleteall /hbase
复制代码
清理虚拟机磁盘
- 开启要进行磁盘清理的虚拟机,以root身份登录,执行以下下令
- dd if=/dev/zero of=/0bits bs=20M
复制代码
- 关闭虚拟机
- 进入VMWare的安装路径(本人的是在D:\Program Files (x86)\VMware\VMware Workstation)在Windows下令行里执行下方下令
- PS C:\Users\Administrator> cd d:
- PS D:\> cd "d:\Program Files (x86)"
- PS D:\Program Files (x86)>
- PS D:\Program Files (x86)> cd '.\VMware\VMware Workstation\'
- PS D:\Program Files (x86)\VMware\VMware Workstation>
- PS D:\Program Files (x86)\VMware\VMware Workstation> .\vmware-vdiskmanager.exe -k "D:\VM\x.vmdk"
- Shrink: 100% done.
- Shrink completed successfully.
复制代码 此处当代时长大约3分半钟,可以看到,虚拟机磁盘再次清理乐成!
清理虚拟机磁盘前后hdp03的占比大小如下图所示:
在前文也提到了磁盘清理乐成,(由于参考资料中提到执行末了步调等待的时间是比力长的)但是我在前问执行的步调清理过程知识花费了20秒钟左右,就迅速地 100% done了。
但是清理乐成后,hdp03节点的大小也照旧在25G的数值,如许的数值是hdp01的3倍,是hdp02的6倍多一点。我之所以质疑是由于,三台节点中hdp01的服务安装的是最多的,同时hdp02和hdp03的服务是相差无几的。
经过再一次的清理磁盘,照旧在25G的数值,可能是虚拟机hdp03的无效文件多吧!
- 我照旧不甘心,所以经过资料查找,我利用下面参考毗连的一个方法进行「压缩虚拟机」
https://www.diskgenius.cn/exp/compressvirtualdisk.php
可是,最终照旧没有改变,哈哈哈哈,彻底放弃了!
之所以不行,大概率是由于之前集群的hdp03节点由于磁盘空间不足被强制关机了,大概的描述就是:
在vmware中,hdp03接待你出现s001.vmdk的操纵失败(磁盘空间不足),当时忘记截图了
这个题目在前面的文章讲过:
见文
参考资料
- http://t.csdn.cn/MEFBL
- https://www.diskgenius.cn/exp/compressvirtualdisk.php
全文结束!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |