[ 
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)

Reply via email to