Backport HBASE-26477 Fix MiniMapReduceCluster failure under Java17 to branch-2 (#3878)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
This commit is contained in:
parent
2798ef132b
commit
ccf150434d
|
@ -123,6 +123,7 @@ import org.apache.hadoop.hbase.util.CommonFSUtils;
|
|||
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
|
||||
import org.apache.hadoop.hbase.util.FSTableDescriptors;
|
||||
import org.apache.hadoop.hbase.util.FSUtils;
|
||||
import org.apache.hadoop.hbase.util.JVM;
|
||||
import org.apache.hadoop.hbase.util.JVMClusterUtil;
|
||||
import org.apache.hadoop.hbase.util.JVMClusterUtil.MasterThread;
|
||||
import org.apache.hadoop.hbase.util.JVMClusterUtil.RegionServerThread;
|
||||
|
@ -2908,6 +2909,14 @@ public class HBaseTestingUtility extends HBaseZKTestingUtility {
|
|||
conf.setBoolean("mapreduce.reduce.speculative", false);
|
||||
////
|
||||
|
||||
// Yarn container runs in independent JVM. We need to pass the argument manually here if the
|
||||
// JDK version >= 17. Otherwise, the MiniMRCluster will fail.
|
||||
if (JVM.getJVMSpecVersion() >= 17) {
|
||||
String jvmOpts = conf.get("yarn.app.mapreduce.am.command-opts", "");
|
||||
conf.set("yarn.app.mapreduce.am.command-opts",
|
||||
jvmOpts + " --add-opens java.base/java.lang=ALL-UNNAMED");
|
||||
}
|
||||
|
||||
// Allow the user to override FS URI for this map-reduce cluster to use.
|
||||
mrCluster = new MiniMRCluster(servers,
|
||||
FS_URI != null ? FS_URI : FileSystem.get(conf).getUri().toString(), 1,
|
||||
|
|
Loading…
Reference in New Issue