如何增加 Accumulo 代理服务器上的内存?

How to increase memory on Accumulo Proxy server?

目前 运行 一项大数据作业正在向一个累加器中执行大量小插入 table,但是在 运行 大约一个小时后总是会出现 OOM 异常

2018-10-09 12:19:17,345 [rpc.CustomNonBlockingServer$CustomFrameBuffer] WARN : Got an IOException in internalRead!
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
        at sun.nio.ch.IOUtil.read(IOUtil.java:197)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
        at org.apache.thrift.transport.TNonblockingSocket.read(TNonblockingSocket.java:142)
        at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.internalRead(AbstractNonblockingServer.java:539)
        at org.apache.thrift.server.AbstractNonblockingServer$FrameBuffer.read(AbstractNonblockingServer.java:338)
        at org.apache.thrift.server.AbstractNonblockingServer$AbstractSelectThread.handleRead(AbstractNonblockingServer.java:203)
        at org.apache.thrift.server.TNonblockingServer$SelectAcceptThread.select(TNonblockingServer.java:203)
        at org.apache.thrift.server.TNonblockingServer$SelectAcceptThread.run(TNonblockingServer.java:154)
#
# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="kill -9 %p"
#   Executing /bin/sh -c "kill -9 71952"...
Killed

有没有办法在通过命令行或配置文件启动代理服务器时增加内存?他们的文档是备用的,并没有太多的见解。

./bin/accumulo proxy -p proxy/proxy.properties #option to increase memory

您正在执行的 bin/accumulo 命令是一个 bash shell 脚本,来源 conf/accumulo-env.sh 您通常会在其中设置一些 Java 命令-行选项。

提供的启动脚本在 Accumulo 2.x 之前的版本中有点混乱,但预计在 2.0.0 及更高版本中会更简单,更多 direct/intuitive。在 1.9.x(可能还有一些更早的版本)中,你可以在 conf/accumulo-env.sh 文件中添加适当的 Java 标志来增加对 ACCUMULO_OTHER_OPTS 环境的内存。