hadoop中java共享连接的setup方法

ql3eal8s  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(277)

我已经在hadoopmrjob的setup方法中初始化了redis(jedis)客户机连接。当我在Map作业中使用连接来更新键、值对时,在多个节点上运行的Map能否同时使用相同的连接来更新redis?或者连接上有锁?

bqjvbblv

bqjvbblv1#

我不确定我是否正确地回答了你的问题。如果您在mapper的安装阶段初始化了redis客户端,那么每个mapper都将使用自己的连接与redis通信。因为所有的Map器都在自己的jvm中运行,所以我不相信您可以在它们之间共享连接。
是的,多个客户端可以同时写入redis。如果所有客户端都在redis中写入同一个密钥,那么它将在内部处理这种情况,但它从不需要集群级锁。

g6baxovj

g6baxovj2#

如果您已经将相同的连接会话对象传递给Map器,那么Map器将使用该会话来更新redis。如果是这样,那就没有锁了。

相关问题