爬过的一些坑
虚拟机本地环节搭建
Ozone的SCM提供了Web界面,里面可以查看集群的Configuration
如果要单机配置,则需要在ozone-site.xml中修改ozone.replication属性的值。
但是,Ozone-1.1.0就算修改了datanode的副本数为1,SCM也可以在安全模式,这时候需要修改hdds.scm.safemode.min.datanode的值,如下:
SCM的web界面还是很方便,如果是集群问题可以在这里查找对应的配置。
JavaAPI-OzoneClient
编写了一个复制对象的函数如下:
报错如下:
网上有回答,说是ByteBuffer是JDK8之后才引入的,Ozone编译的JDK版本高于JDK8如果在JDK8上运行就会报错,解决方法有两个:
- 1. 把ByteBuffer转成Buffer
- 2. 升级项目的JDK版本
单机启动OM报错
2021-08-22 13:19:22,546 [Listener at localhost/9862] ERROR org.apache.hadoop.ozone.om.OzoneManagerStarter: OM start failed with exception
java.io.IOException: Failed to lock storage /tmp/ozone/meta/ratis/af09c5fa-d871-422f-ab86-65b999ca8f8a. The directory is already locked
提示Ratis文件被使用,解决方案就是删除该文件,然后再启动OM。
这个问题好像是因为单机集群出现的问题
这是HDFS的datanode的问题,Ozone主要是datanode和om冲突,原理可能是一样的。