Zookeeper-JVM

本文介绍如何合理设置ZooKeeper的JVM堆大小,包括两种设置方法及为何要避免过大的堆设置。通过调整JVM堆大小,可以有效提升ZooKeeper的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置JVM大小

确保设置一个合理的JVM堆大小,如果设置太大,会让内存与磁盘进行交换,这将使ZK的性能大打折扣。例如一个4G内存的机器的,如果你把JVM的堆大小设置为4G或更大,那么会使频繁发生内存与磁盘空间的交换,通常设置成3G就可以了。当然,为了获得一个最好的堆大小值,在特定的使用场景下进行一些压力测试。

法一,在zk.Env.sh中设置:

找到$ZOOCFGDIR/java.env文件,即../conf/java.env文件,若不存在,自己创建一个,
文件内容如下:
这里写图片描述
-Xms1024是最小内存,-Xmx1024是最大内存

法二,在zkServer.sh中设置:

在zkServer.sh中,增加以下参数:

start)
    echo  -n "Starting zookeeper ... "
    if [ -f $ZOOPIDFILE ]; then
      if kill -0 `cat $ZOOPIDFILE` > /dev/null 2>&1; then
         echo $command already running as process `cat $ZOOPIDFILE`.
         exit 0
      fi
    fi
    nohup $Java $ZOO_DATADIR_AUTOCREATE "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" \
    "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
    -cp "$CLASSPATH" $JVMFLAGS -Xmx2G -Xms2G $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

默认不配置,是会根据操作系统本身内存大小的一个百分比预先分配的,所以这不是我们一般需要的。


查看

运行zookeeper时,使用jmap -heap 命令查看内存情况如下
这里写图片描述

<think>我们被要求下载特定版本的Apache ZooKeeper二进制包,版本号为3.8.4。 根据引用[1]的描述,我们可以从镜像站点下载二进制包,文件名为apache-zookeeper-3.8.4-bin.tar.gz。 通常,Apache项目的下载可以通过其官方镜像站点进行。 步骤: 1. 访问Apache ZooKeeper的官方网站或镜像站点。 2. 找到所需版本的二进制包(注意:要下载的是二进制包,而不是源码包)。 3. 下载文件名为apache-zookeeper-3.8.4-bin.tar.gz的文件。 实际操作: - 官方下载页面:https://zookeeper.apache.org/releases.html - 或者直接访问镜像列表:https://www.apache.org/dyn/closer.lua/zookeeper/ 在镜像站点中,通常会选择离你地理位置较近的镜像。例如,我们可以进入一个镜像站点,然后选择: zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz 注意:3.8.4版本可能存在于不同的路径下,因为官方会为每个版本提供单独的目录。 另外,也可以直接使用wget命令下载(以某个镜像URL为例,但实际需替换为可用的镜像URL): 例如: ```bash wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz ``` 注意:由于镜像站点的变化,archive.apache.org通常保存了历史版本,所以如果当前镜像没有,可以使用这个地址。 因此,我们可以这样操作: 1. 打开浏览器,访问Apache ZooKeeper的下载页面:https://zookeeper.apache.org/releases.html#download 2. 在页面中找到“3.8.4”版本的链接,然后选择“binary”版本的tar.gz包(即apache-zookeeper-3.8.4-bin.tar.gz)进行下载。 3. 或者,直接使用wget命令(在Linux服务器上)下载: ```bash wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz ``` 注意:下载完成后,按照引用[1]中的步骤,将文件上传到目标服务器(如hadoop01)的指定目录(例如/export/softwares),然后进行解压安装。 如果下载过程中遇到问题,可以尝试不同的镜像站点。 相关问题: 1. 如何验证下载的ZooKeeper二进制包的完整性? 2. ZooKeeper安装完成后,如何进行基本配置? 3. ZooKeeper集群部署的步骤是什么?</think>### 下载 Apache ZooKeeper 3.8.4 二进制包指南 #### 1. 访问官方下载源 打开 Apache ZooKeeper 官方下载页面: [**https://zookeeper.apache.org/releases.html**](https://zookeeper.apache.org/releases.html) 在 "Download" 区域找到 **3.8.4** 版本,点击链接进入镜像选择页(或直接访问存档站): [**https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/**](https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/) #### 2. 下载二进制包 在文件列表中定位二进制包(文件名带 `-bin` 后缀): 🔗 **`apache-zookeeper-3.8.4-bin.tar.gz`** 点击文件名或使用 wget 命令下载: ```bash wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz ``` #### 3. 验证文件完整性(推荐) 下载同目录下的校验文件验证: - `apache-zookeeper-3.8.4-bin.tar.gz.sha512` - `apache-zookeeper-3.8.4-bin.tar.gz.asc` 使用命令校验: ```bash # SHA512校验 sha512sum -c apache-zookeeper-3.8.4-bin.tar.gz.sha512 # GPG签名验证(需导入Apache公钥) gpg --import KEYS gpg --verify apache-zookeeper-3.8.4-bin.tar.gz.asc ``` #### 4. 部署准备(参考引用[^1]) 1. 上传到目标服务器(如 Hadoop 集群): ```bash scp apache-zookeeper-3.8.4-bin.tar.gz user@hadoop01:/export/softwares/ ``` 2. 在服务器操作: ```bash # 创建安装目录 mkdir -p /export/server # 解压安装包 tar -zxvf /export/softwares/apache-zookeeper-3.8.4-bin.tar.gz -C /export/server/ # 创建软链接(可选) ln -s /export/server/apache-zookeeper-3.8.4-bin /export/server/zookeeper ``` #### 5. 配置说明(参考引用[^2]) 修改 `conf/zoo.cfg` 配置集群模式时需设置: ```properties # 启用分布式模式 hbase.cluster.distributed=true # 配置ZooKeeper集群节点 hbase.zookeeper.quorum=hadoop01,hadoop02,hadoop03 ``` > **注意**:单机模式运行时,ZooKeeper 会嵌入在 HBase 的 JVM 进程中[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值