linux部署hadoop与zookeeper finalshell
时间: 2025-03-20 10:14:06 浏览: 37
### Linux 上使用 FinalShell 部署 Hadoop 和 Zookeeper
#### 工具介绍
FinalShell 是一款功能强大的 SSH 客户端工具,支持文件传输、终端操作等功能。它可以帮助用户高效完成服务器上的各种任务。
---
#### 准备工作
1. **环境准备**
- 确保三台机器(node1、node2、node3)已经安装 CentOS 7 或更高版本的操作系统。
- 设置好主机名和 hosts 文件映射关系,确保每台机器可以通过主机名互相访问[^2]。
2. **软件包准备**
- 下载并准备好 Hadoop 和 Zookeeper 的压缩包至 node1 的 `/opt/module` 目录下。
```bash
mkdir -p /opt/module && cd /opt/module
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
tar -zxvf hadoop-2.9.2.tar.gz
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz
mv apache-zookeeper-3.8.4-bin zookeeper-3.8.4
```
3. **同步目录**
使用 `xsync` 命令将 `/opt/module/zookeeper-3.8.4` 同步到其他两台节点上[^1]。
```bash
[hduser@node1 module]$ xsync zookeeper-3.8.4/
```
---
#### 配置 Hadoop
1. **修改配置文件**
编辑 Hadoop 的核心配置文件 `core-site.xml`、`hdfs-site.xml` 和 `mapred-site.xml`,设置 NameNode 地址和其他参数。
示例:编辑 `core-site.xml`
```xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
</configuration>
```
2. **分发配置文件**
将修改后的配置文件通过 FinalShell 手动复制到其他节点的对应路径下,或者继续使用 `scp` 命令批量分发。
```bash
scp -r /opt/module/hadoop/etc/* hduser@node2:/opt/module/hadoop/etc/
scp -r /opt/module/hadoop/etc/* hduser@node3:/opt/module/hadoop/etc/
```
3. **格式化 NameNode**
在 node1 上运行以下命令初始化 HDFS 文件系统。
```bash
hdfs namenode -format
```
4. **启动集群**
使用 Hadoop 提供的脚本启动服务。
```bash
start-dfs.sh
start-yarn.sh
jps
```
---
#### 配置 Zookeeper
1. **创建配置文件**
复制默认配置模板并进行修改。
```bash
cp /opt/module/zookeeper-3.8.4/conf/zoo_sample.cfg /opt/module/zookeeper-3.8.4/conf/zoo.cfg
vi /opt/module/zookeeper-3.8.4/conf/zoo.cfg
```
添加如下内容:
```properties
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
```
2. **创建 myid 文件**
在每一台机器上分别创建 `myid` 文件,并写入对应的编号。
- Node1:
```bash
echo "1" > /opt/module/zookeeper-3.8.4/data/myid
```
- Node2:
```bash
echo "2" > /opt/module/zookeeper-3.8.4/data/myid
```
- Node3:
```bash
echo "3" > /opt/module/zookeeper-3.8.4/data/myid
```
3. **启动 Zookeeper**
进入 Zookeeper 的 bin 目录,依次启动各节点的服务。
```bash
./zkServer.sh start
```
---
#### 测试连接
1. **测试 Hadoop**
创建一个简单的文本文件上传到 HDFS 并读取验证。
```bash
echo "Test File Content" > test.txt
hdfs dfs -put test.txt /
hdfs dfs -cat /test.txt
```
2. **测试 Zookeeper**
使用客户端命令查看状态。
```bash
zkCli.sh -server node1:2181
ls /
```
---
### 注意事项
- 如果遇到网络不通的情况,可按照引用中的方法启用 Samba 服务或调整防火墙规则。
- 确保所有节点的时间一致,可通过 NTP 服务实现时间同步。
---
阅读全文
相关推荐













