解决Hadoop集群zkfc服务无法启动
发表于|更新于|Hadoop
|总字数:132|阅读时长:1分钟|浏览量:
新建集群以后,由于fs.defaultFS的配置与hdfs-site.xml的配置不一致,后来集群运行以后用重新修改了配置,重启集群后发现zkfc服务无法启动,导致namenode不自动切换了。
解决办法:
原因是因为修改配置文件后,重启集群,会把zookeeper中的znode给删除,为什么会删除我也不清楚,反正我在zookeeper中没有发现这个目录。
只需要执行如下命令即可:
1 | hdfs zkfc -formatZK |
文章作者: Charles
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 码农笔记!
相关推荐

2019-09-13
Hadoop数据迁移
最近有个工作是把数据从CDH5.8迁移到新集群CDH6.1,数据迁移首先想到的就是hadoop distcp命令,distcp(distributed copy)是用于大型集群间/集群内复制的工具。它使用MapReduce来实现其分发,错误处理和恢复以及报告。它将文件和目录的列表扩展为映射任务的输入,每个任务都会复制源列表中指定的文件分区。 同版本集群间数据迁移对于Hadoop版本一致或差一两个小版本,可以使用HDFS协议即可,在target集群运行如下命令 1hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo 其中hdfs://nn1:8020/foo/bar为source集群,hdfs://nn2:8020/bar/foo为目标集群。 不同版本集群减数据迁移对于版本差距较大,互相不兼容的集群,可以使用hftp协议和webhdfs来实现数据迁移。 hftp协议在target集群运行如下命令: 1hadoop distcp hftp://nn1:8020/foo/bar hdfs://nn2:80...

2023-06-20
Kerberos认证后访问HDFS提示Not attempting to re-login错误
场景CDH6.3.4集群,开通了Kerberos认证,在客户端得机器上已经通过了Kerberos得认证并且缓存了票据。 由于是新装的系统,安装了最新的jdk-8u371。 报错执行hdfs dfs -ls / 命令频繁的打印如下错误: 1org.apache.hadoop.security.UserGroupInformation Not attempting to re-login since the last re-login was attempted less than 600 seconds before 错误原因找了很久,忽然想到了曾经遇到过这种问题,是JDK版本太低导致的,但我安装了最新的JDK1.8,那就有可能是JDK版本太高导致的。 解决办法下载了一个jdk-8u221版本,完美解决问题。CDH虽然写了支持JDK1.8,但小版本也会影响到它的正常运行,所以以后遇到类似得情况先调整下JDK版本,别太高也别太低。最好是看下官方有没有推荐的版本。

2017-07-21
Journal Storage Directory not formatted
Hadoop启动的时候发现JournalNode节点一直启动不起来,查看后台日志发现异常信息JournalNode not formatted,通常这种异常大概有如下三种情况导致的: 新搭建的集群,我配置的时候没有吧fs.defaultFS配置一致,导致执行hadoop命令的时候报错,后来修改了以后重启集群就出现这个问题了,此时需要重新格式化namenode,因为在格式化namenode的时候,就顺便把JournalNode格式化了。 如果是正在用运行的集群,其中一台机器的JournalNode没有被格式化,那么检查完权限没问题以后,从其他JournalNode复制一份到没有格式化的JournalNode。 如果是从no-HA更新到HA,只需要执行如下命令: 1hdfs namenode -initializeSharedEdits 也就是你可以不用格式化NameNode就可以格式化你的JournalNode目录

2023-08-23
在Windows11上使用WSL安装Hadoop伪分布式
最近调试程序,由于各种原因把,不允许开发机器连接Hadoop集群,只能在本机部署了,我使用了Docker和WSL(适用于Linux的Windows子系统)两种方法,经过对比,最终决定用WSL,Docker还不算稳定,动不动就闪退了。 环境 Hadoop 3.2.2 JDK 1.8.221 WSL子系统,我选择的是Ubuntu22.04 LTS 如果没开启WSL子系统,可通过如下命令进行开启: 1Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux JDK 默认算你配好的,如果只使用Hadoop,那么JDK11也是阔以滴,但我还需要用Hive,所以只能用JDK1.8了。 部署Hadoop下载Hadoop安装包在WSL终端中(不是PowerShell),执行如下命令: 1wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.2/hadoop-3.3.2.tar.gz 如果提示证书有问题,可以添加--no-...

2017-09-05
hbase 异常 Server is not running yet
发现问题同步时间后,发现Hbase统统挂掉了,重启hadoop后,发现Hbase无法正常启动了,报如下错误: 123456789Caused by: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yetat org.apache.hadoop.hbase.regionserver.RSRpcServices.checkOpen(RSRpcServices.java:886)at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:1956)at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.jav...

2023-06-20
macOS使用brew安装Hadoop
前言通常我一直在虚拟机中安装Hadoop、Hive、Hbase等大数据相关的组件,但随着我的笔记本使用年限越爱越长,性能也下降的很快,已经达到开虚拟机就会开的地步,于是我就考虑直接将Hadoop安装到macOS上,避免了虚拟机对资源的消耗,为了更好的管理,我选择使用brew来安装。 安装Hadoop使用brew安装Hadoop非常方便,执行如下命令即可: 1brew install hadoop 安装前建议提前安装好JDK,并且配置JAVA_HOME。 为了方便使用,我还配置了hosts 123sudo vim /etc/hosts127.0.0.1 hadoop 配置Hadoop配置免密登录macOS默认是关闭了远程登入的功能,所以需要先打开它。打开系统偏好设置 -> 共享,左边勾选远程登录,右边选择仅这些用户,并且把当前用户添加进去。 然后生成秘钥和公钥 123456789# 生成公钥和私钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 将公钥追加到authorized_keys,实现免密登...
评论
公告
开始忙了,长草期。





