编译hbase2.2.4+hadoop3.1.2

环境:

ubuntu19.10

hadoop3.1.2

hbase2.2.4

完整报错如下:

java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
	at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.rollWriter(WALProcedureStore.java:1092)
	at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:424)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:586)
	at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1523)
	at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:938)
	at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2124)
	at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:580)
	at java.lang.Thread.run(Thread.java:748)
2020-05-16 14:51:47,983 ERROR [master/Desktop:16000:becomeActiveMaster] master.HMaster: ***** ABORTING master desktop,16000,1589611905045: Unhandled exception. Starting shutdown. *****
java.lang.IllegalStateException: The procedure WAL relies on the ability to hsync for proper operation during component failures, but the underlying filesystem does not support doing so. Please check the config value of 'hbase.procedure.store.wal.use.hsync' to set the desired level of robustness and ensure the config value of 'hbase.wal.dir' points to a FileSystem mount that can provide it.
	at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.rollWriter(WALProcedureStore.java:1092)
	at org.apache.hadoop.hbase.procedure2.store.wal.WALProcedureStore.recoverLease(WALProcedureStore.java:424)
	at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:586)
	at org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1523)
	at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:938)
	at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2124)
	at org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:580)
	at java.lang.Thread.run(Thread.java:748)

网上的一个办法之一是直接设定hbase.unsafe.stream.capability.enforce=false

根据官网的说法,hbase.unsafe.stream.capability.enforce=false存在丢失数据的风险,根本无法用于生产环境

又想用最新版本又想兼容,只能自己编译了。

#------------------------------------------------

准备工作:

https://mirror.bit.edu.cn/apache/hbase/2.2.4/hbase-2.2.4-src.tar.gz

注意配置好maven的阿里云镜像

编译命令

mvn clean package -DskipTests assembly:single -Dhadoop.profile=3.0 -Dhadoop-three.version=3.1.2

 

编译时间Total time: 30:23 min

 

编译结束后得到:

/home/appleyuchi/bigdata/hbase-2.2.4-源码/hbase-assembly/target/hbase-2.2.4-bin.tar.gz

 

然后可以看到得到hbase2.2.4都是依赖于hadoop3.2.1了。

 

Reference:

http://www.meilongkui.com/archives/1544

 

 

Hive、HBaseHadoop是三种流行的大数据技术,它们都有不同的用途和优势。Hadoop是一个分布式系统平台,它可以处理大量的数据,并提供高性能的数据处理。Hive是一个数据仓库,它可以通过SQL查询访问Hadoop中的数据。HBase是一个分布式数据库,它可以实时存储和访问大量的非结构化数据。 在部署Hive、HBaseHadoop时,需要注意以下几点: 首先,需要想好在哪里安装这些组件,是否在同一台服务器上安装。通常情况下,为了实现最佳性能,最好在分布式服务器集群上安装它们。 其次,需要安装和配置Hadoop,并确认其正常运行。这包括设置Hadoop目录结构、配置Hadoop的XML配置文件、启动Hadoop服务等。 第三,需要安装并配置HBase。这包括设置HBase目录结构、配置HBase的XML配置文件、启动HBase服务、设置HBase集群等。需要确保HBase的表空间和列族的设计符合需求,并且表的分布在整个HBase集群中。 最后,需要安装并配置Hive。这包括设置Hive目录结构、配置Hive的XML配置文件,启动Hive服务等;同时需要确保配置Hive的JDBC连接和ODBC连接,以便于应用程序使用Hive。还应检查Hive与HadoopHBase的兼容性,并进行充分测试以确保其正常运行。 总之,Hive、HBaseHadoop的部署需要仔细考虑,并按照最佳实践进行。只有这样,才能在大数据处理中获得最佳性能和效益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值