如何搭建Hadoop-zookeeper环境

发布时间:2021-12-09 14:54:13 作者:小新
来源:亿速云 阅读:150
# 如何搭建Hadoop-Zookeeper环境

## 一、前言

在大数据技术生态中,Hadoop和Zookeeper是两个核心组件。Hadoop作为分布式存储和计算框架,而Zookeeper则提供分布式协调服务。本文将详细介绍如何从零开始搭建Hadoop-Zookeeper集群环境。

### 环境准备
- 3台CentOS 7服务器(建议4核8G内存以上)
- JDK 1.8+
- Hadoop 3.3.4
- Zookeeper 3.7.1
- 服务器间SSH免密登录配置

## 二、基础环境配置

### 1. 修改主机名和hosts文件

```bash
# 在三台服务器上分别执行
hostnamectl set-hostname hadoop01
hostnamectl set-hostname hadoop02
hostnamectl set-hostname hadoop03

# 编辑/etc/hosts文件,添加以下内容
192.168.1.101 hadoop01
192.168.1.102 hadoop02
192.168.1.103 hadoop03

2. 关闭防火墙和SELinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

3. 安装JDK

# 下载JDK
wget https://download.oracle.com/java/18/latest/jdk-18_linux-x64_bin.tar.gz

# 解压并配置环境变量
tar -zxvf jdk-18_linux-x64_bin.tar.gz -C /usr/local/
echo 'export JAVA_HOME=/usr/local/jdk-18
export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

三、Zookeeper集群安装

1. 下载并解压

wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/
mv /usr/local/apache-zookeeper-3.7.1-bin /usr/local/zookeeper

2. 配置Zookeeper

# 创建数据和日志目录
mkdir -p /data/zookeeper/{data,logs}

# 复制配置文件模板
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

# 编辑zoo.cfg
vim /usr/local/zookeeper/conf/zoo.cfg

配置文件内容示例:

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logs
clientPort=2181
server.1=hadoop01:2888:3888
server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888

3. 创建myid文件

# 在三台服务器上分别执行
# hadoop01
echo "1" > /data/zookeeper/data/myid
# hadoop02
echo "2" > /data/zookeeper/data/myid
# hadoop03
echo "3" > /data/zookeeper/data/myid

4. 配置环境变量

echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH' >> /etc/profile
source /etc/profile

5. 启动与验证

# 三台服务器分别启动
zkServer.sh start

# 查看状态
zkServer.sh status

正常情况应该显示一个leader和两个follower。

四、Hadoop集群安装

1. 下载并解压Hadoop

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local/
mv /usr/local/hadoop-3.3.4 /usr/local/hadoop

2. 配置环境变量

echo 'export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> /etc/profile
source /etc/profile

3. 修改Hadoop配置文件

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>yarn-cluster</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>hadoop01</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>hadoop02</value>
    </property>
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

workers文件

hadoop01
hadoop02
hadoop03

4. 创建必要目录

mkdir -p /data/hadoop/{tmp,hdfs/{name,data}}

5. 配置SSH免密登录

# 在所有节点生成密钥
ssh-keygen -t rsa

# 将公钥拷贝到各节点(包括自己)
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

6. 同步配置到其他节点

scp -r /usr/local/hadoop hadoop02:/usr/local/
scp -r /usr/local/hadoop hadoop03:/usr/local/
scp /etc/profile hadoop02:/etc/
scp /etc/profile hadoop03:/etc/

五、启动集群

1. 启动Zookeeper

# 三台服务器分别执行
zkServer.sh start

2. 格式化HDFS

# 仅在hadoop01执行
hdfs namenode -format

3. 启动HDFS

start-dfs.sh

4. 启动YARN

start-yarn.sh

5. 验证集群状态

# 检查HDFS
hdfs dfsadmin -report

# 检查YARN
yarn node -list

# 检查Zookeeper
zkCli.sh -server hadoop01:2181 ls /

六、常见问题解决

  1. Zookeeper无法选举Leader

    • 检查myid文件是否正确
    • 检查防火墙是否关闭
    • 检查zoo.cfg中的服务器列表配置
  2. Hadoop节点无法启动

    • 检查日志文件:/usr/local/hadoop/logs/
    • 检查JDK环境变量
    • 检查SSH免密登录配置
  3. HDFS副本数警告

    • 修改dfs.replication值
    • 或执行:hdfs dfs -setrep -w 3 /path

七、总结

本文详细介绍了Hadoop-Zookeeper集群环境的搭建过程,包括: 1. 基础环境配置 2. Zookeeper集群安装与配置 3. Hadoop集群安装与配置 4. 集群启动与验证 5. 常见问题解决方法

通过本文的指导,您应该能够成功搭建一个高可用的Hadoop-Zookeeper集群环境,为后续的大数据应用开发奠定基础。

注意:实际生产环境中还需要考虑安全配置、监控告警、备份恢复等更多因素。本文仅提供基础搭建指南。 “`

这篇文章共计约2400字,采用Markdown格式编写,包含了Hadoop-Zookeeper环境搭建的完整流程,从基础环境准备到具体配置步骤,再到验证和问题排查,最后给出总结。内容结构清晰,代码块和配置示例完整,可以直接用于实际环境搭建参考。

推荐阅读:
  1. 搭建 LAMP 环境
  2. 如何搭建python环境

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop zookeeper

上一篇:hadoop中如何确定map和reduce数目

下一篇:hadoop 2.7.1如何动态添加节点

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》