org.apache.hadoop.hbase.DoNotRetryIOException: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support. Set hbase.table.sanity.checks to false at conf or table descriptor if you want to bypass sanity checks
时间: 2023-12-05 10:06:43 浏览: 199
这是一个HBase的错误,提示libhadoop没有支持snappy压缩库。要解决这个问题,你需要在Hadoop集群中安装snappy压缩库。
首先,你需要检查你的Hadoop集群是否支持snappy压缩库。你可以通过以下命令检查:
```
hadoop checknative -a
```
如果你的集群支持snappy,你应该能够看到以下输出:
```
Native library checking:
hadoop: true /path/to/native/lib
zlib: true /lib64/libz.so.1
snappy: true /path/to/native/lib/libsnappy.so.1
lz4: true revision:10301
bzip2: true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so
```
如果你看到snappy为false,那么你需要在集群上安装snappy。
你可以使用以下命令在CentOS上安装snappy:
```
sudo yum install snappy snappy-devel
```
在Ubuntu上,你可以使用以下命令安装snappy:
```
sudo apt-get install libsnappy-dev
```
安装完成后,你需要重新构建Hadoop和HBase,并在运行HBase之前设置以下配置选项:
```
hbase.table.sanity.checks=false
```
这将禁用HBase在表启动时进行的某些检查,以避免在缺少snappy库的情况下出现错误。
阅读全文