ubuntu搭建zookeeper服务(伪分布式环境下)

本文详细介绍了在Ubuntu系统上安装和配置Apache Zookeeper的过程,包括下载安装包、配置环境变量、修改配置文件以及启动和连接Zookeeper服务的步骤。

准备

安装包官方下载地址:https://zookeeper.apache.org/releases.html

百度网盘地址(提取码:892i):apache-zookeeper-3.5.7-bin.tar.gz

环境

确保ubuntu系统已安装Java环境

安装

将下载好的安装包使用FTP工具发送到虚拟机实例(使用FTP工具参考此教程安装jdk步骤即可:Hadoop伪分布式安装与配置

解压(或在文件系统中直接提取)下载好的tar.gz安装包到指定目录并将文件更名为zookeeper

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz
mv apache-zookeeper-3.5.7-bin zookpeeker        # 更名
cd /usr/local
sudo chown -R hadoop ./zookeeper                # 修改文件权限

进入zookeeper目录的conf目录,更改配置文件zoo_sample.cfg名字为zoo.cfg

mv zoo_sample.cfg zoo.cfg</
### 搭建 ZooKeeper 分布式集群环境 #### 准备工作 为了搭建一个完整的 ZooKeeper 集群,需要准备三台运行 Ubuntu 的虚拟机。可以使用 VMware 创建这些虚拟机,并确保每台机器能够通过网络相互通信。 - 虚拟机名称分别为 `master`、`slave1` 和 `slave2`。 - 安装 JDK 8,版本为 `jdk-8u162-linux-x64`[^5]。 - 下载并解压 ZooKeeper 文件包 `apache-zookeeper-3.5.8-bin`[^1]。 #### 配置 Java 环境 在每一台虚拟机上完成以下操作: 1. 解压 JDK 压缩包到指定目录(例如 `/usr/local/jdk`),并通过命令确认其路径: ```bash tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/local/ ``` 2. 设置 JAVA_HOME 环境变量,在 `/etc/profile` 中添加如下内容: ```bash export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH ``` 3. 执行 `source /etc/profile` 更新环境变量。 验证安装成功与否可以通过执行 `java -version` 来检查。 #### 配置 SSH 免密登录 为了让集群中的节点相互访问更加便捷,需配置无密码 SSH 登录。具体步骤如下: 1. 在每台服务器上生成 RSA 密钥对: ```bash ssh-keygen -t rsa ``` 2. 将当前用户的公钥复制至其他两台服务器上的对应账户中: ```bash ssh-copy-id user@slave1_ip_address ssh-copy-id user@slave2_ip_address ``` 重复上述过程以实现所有主机之间的双向免密登录。 #### 安装与配置 ZooKeeper 按照下面的指导来部署和初始化 ZooKeeper 实例于各节点之上。 1. **下载与解压** 把之前获取到的 ZooKeeper 归档文件上传到各个节点,并将其展开成默认名之外的新名字比如叫作 'zookeeper' : ```bash tar xf apache-zookeeper-3.5.8-bin.tar.gz && mv apache-zookeeper-3.5.8-bin zookeeper cd zookeeper/conf cp zoo_sample.cfg zoo.cfg ``` 2. **修改配置文件** 编辑 `conf/zoo.cfg` 添加或调整下列参数以便支持多实例协作模式: ```properties tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888 ``` 上述片段定义了三个服务端地址及其通信端口;其中 master 对应第一个 ID (server.1),以此类推[^4]。 3. **创建 myid 文件** 各成员都需要有一个唯一的身份标识存储在一个名为 “myid”的纯文本档案里位于先前设定的数据目录之下(`dataDir`) 。对于 master 设定值为 "1", slave1 则设为"2"等等... ```bash echo "1" > /var/lib/zookeeper/myid # On Master Node echo "2" > /var/lib/zookeeper/myid # On Slave1 Node echo "3" > /var/lib/zookeeper/myid # On Slave2 Node ``` #### 启动 ZooKeeper 服务 最后一步就是在所有的节点上面启动这个守护进程: ```bash cd $ZOOKEEPER_HOME/bin ./zkServer.sh start ``` 此时应该可以看到日志输出表明它已经正常运作起来了。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值