- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个微型 Hadoop 集群,它有 5 个数据节点和 1 个名称节点,所有 4 核/4 线程机器每个都有 4GB 内存,除了一个数据节点有 8GB 内存。
他们都在运行 RHEL 6 x86_64。 HBase版本为1.2,Phoenix版本为4.14
我正在通过 Phoenix 查询服务器和“瘦”JDBC 客户端连接到 Apache Phoenix。 Phoenix 查询服务器在名称节点上运行。
我正在尝试更新插入约 2000 个元组,每 10 分钟约 25 列,该表已经插入了超过 200 万个元组,但有时我会收到以下形式的异常:
Caused by: java.lang.OutOfMemoryError: unable to create new native thread [...] Caused by: AvaticaClientRuntimeException: Remote driver error: RuntimeException: org.apache.phoenix.execute.CommitException: java.lang.RuntimeException: java.lang.OutOfMemoryError: unable to create new native thread -> CommitException: java.lang.RuntimeException: java.lang.OutOfMemoryError: unable to create new native thread -> RuntimeException: java.lang.OutOfMemoryError: unable to create new native thread -> OutOfMemoryError: unable to create new native thread. Error -1 (00000) null
Phoenix 查询服务器正在名称节点上运行,我不确定出了什么问题。
这不是真正的 OutOfMemoryException,而是好像它正在创建许多线程并用完它们?
我已经尝试执行 ps aux,但我看不到 Phoenix 查询服务器进程创建超过 ~50 个线程,据我所知,这远远低于正常 Linux 安装中的线程限制。
也许它真的内存不足并且无法创建 native 线程是一个症状?
最佳答案
原来运行 Hadoop 进程的用户对新进程的限制太低,我编辑了
/etc/security/limits.conf
与:
user - nproc 32768
它奏效了。我没有看到特定的线程数限制,但增加进程数限制可以解决问题。
我还了解到集群也需要增加打开文件数限制:
user - nofile 32768
我这样设置是为了避免将来出现问题。
关于java - Apache 凤凰java.lang.OutOfMemoryError : unable to create new native thread,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54464975/
我正在尝试在 Apache Phoenix 中的表上创建 View ,并添加/更改 View 中基表列之一的值。 类似这样的事情: CREATE VIEW mobile_product_metrics
一天几次在我的 Phoenix 应用程序中浏览错误堆栈跟踪时,我注意到某些肯定正在执行的文件没有显示在堆栈跟踪中。 示例 1:省略了 View 辅助方法 这是一个涉及 format_date 的示例从
我在 Cloudera 的 Hadoop 和 Hbase 安装上安装 Apache Phoenix 4.8.2-Hbase-1.2(即,两者都是通过 cdh 5.9.1 安装的) 按照以下说明在其上构
我是一名优秀的程序员,十分优秀!