You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2020/10/12 03:02:00 UTC

[jira] [Commented] (HBASE-25170) supporting hbase on aarch64 platform

    [ https://issues.apache.org/jira/browse/HBASE-25170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17212099#comment-17212099 ] 

Duo Zhang commented on HBASE-25170:
-----------------------------------

I think all these packages are not depended by hbase directly. The jline is introduced by zookeeper. and others are introduced by hadoop. We do use netty but we have already shaded it in hbase-thirdparty and the version is 4.1.x not 4.0.x.

And we can not drop hadoop2 support on hbase 2.x, so it is not possible to upgrade our hadoop dependency to 3.3.0 on 2.x. But I believe in 2.4.0 we will add support for hadoop 3.3.0, so you can build the artifacts by your own to support aarch64.

Thanks.

> supporting hbase on aarch64 platform
> ------------------------------------
>
>                 Key: HBASE-25170
>                 URL: https://issues.apache.org/jira/browse/HBASE-25170
>             Project: HBase
>          Issue Type: Wish
>            Reporter: dingwei2019
>            Priority: Major
>
> HBase release 2.3.2 on September 21, 2020.   I download a new version and test on my machine. At first, I found that the fire-flame on x86 platform and aarch64 platform were inconsistent. On X86 platform netty use epoll, but on aarch64 platform netty use nio. Further I find out the code judge if use epoll make the difference. It do not consider aarch64 platform. Beside is the code:
> {color:#4c9aff}return epollEnabled && JVM.isLinux() && JVM.isAmd64();{color}
> When i add the aarch64 judge branch, i found regionserver can not start because of native lib libnetty-transport-native-epoll.so could not be loaded.
>  
> I check the third party jar package about HBase-2.3.2, and get the following table.
> |third party jar info of HBase-2.3.2|latest jar package info|
> |third party jar package|release time|lib in jar package do not support aarch64 platform|latest version|release time|Supporting aarch64?|
> |commons-crypto-1.0.0.jar|2016/7/26|libcommons-crypto.so|commons-crypto-1.1.0.jar|2020/8/28|Yes|
> |jline-2.11.jar|2013/5/19|libjansi.so|jline-2.14.6.jar|2018/3/26|No|
> |leveldbjni-all-1.8.jar|2013/10/17|libleveldbjni.so|leveldbjni-all-1.8.jar|2013/10/17|No|
> |netty-all-4.0.23.Final.jar|2014/8/15|libnetty-transport-native-epoll.so|netty-all-4.1.52.Final.jar|2020/9/8|Yes|
> |snappy-java-1.0.5.jar|2013/5/17|libsnappyjava.so|snappy-java-1.1.7.7.jar|2020/8/26|Yes|
>  
> According to the table above, we can get the following conclusions:
> 1、third party jar package is now supporting aarch64 platform(apache hadoop is now release 3.3.0 to support aarch64, more and more bigdata component is now supporting aarch64 platform);
> 2、we now have only leveldbjni-all and jline packages do not support aarch64 platform.
>  
> I wish HBase community can support aarch64 platform on hbase in not far future.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)