Quantcast
Channel: 小蓝博客
Viewing all articles
Browse latest Browse all 3145

Ubuntu下Hadoop集群与Hive部署指南

$
0
0

在 Ubuntu 下部署 Hadoop 集群并配置 Hive 涉及到多个步骤,包括安装、配置、启动和验证。本文将详细介绍如何一步一步地完成这些操作。

一、Hadoop 集群部署

1. 环境准备

  • 系统环境:Ubuntu 20.04 或 22.04
  • 主机配置:设置两台或多台 Ubuntu 服务器作为 Hadoop 集群节点(一个为 Master 节点,另一个或多个为 Slave 节点)
  • Java 环境:Hadoop 依赖于 Java,首先需要安装 Java 环境。
sudo apt update
sudo apt install openjdk-8-jdk

验证 Java 安装:

java -version

2. Hadoop 安装

  1. 下载 Hadoop

    前往 Apache Hadoop 官方网站 下载最新版本的 Hadoop 二进制包。

    wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
    tar -xzvf hadoop-3.3.1.tar.gz
    sudo mv hadoop-3.3.1 /usr/local/hadoop
  2. 配置环境变量

    编辑 ~/.bashrc 文件,添加以下内容:

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

    使配置生效:

    source ~/.bashrc
  3. 配置 Hadoop

    编辑 Hadoop 的配置文件,路径为 /usr/local/hadoop/etc/hadoop

    • core-site.xml:
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
    </configuration>
    • hdfs-site.xml:
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///usr/local/hadoop/hdfs/namenode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///usr/local/hadoop/hdfs/datanode</value>
        </property>
    </configuration>
    • mapred-site.xml:

    mapred-site.xml.template 重命名为 mapred-site.xml,并编辑:

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    • yarn-site.xml:
    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
    </configuration>
  4. 格式化 HDFS

    在主节点上运行以下命令以格式化 HDFS:

    hdfs namenode -format
  5. 启动 Hadoop

    在主节点上依次启动以下服务:

    start-dfs.sh
    start-yarn.sh
  6. 验证安装

    访问 Hadoop Web UI 界面:

    • Namenode Web UI: http://<master_ip>:9870
    • ResourceManager Web UI: http://<master_ip>:8088

二、Hive 部署与配置

Hive 是一个基于 Hadoop 的数据仓库工具,提供 SQL 查询能力。

1. 安装 MySQL(元数据存储)

Hive 需要一个关系型数据库来存储元数据,MySQL 是常见选择。

  1. 安装 MySQL

    sudo apt install mysql-server
    sudo mysql_secure_installation
  2. 配置 Hive 元数据库

    创建 Hive 所需的数据库和用户:

    CREATE DATABASE hive;
    CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'hivepassword';
    GRANT ALL PRIVILEGES ON hive.* TO 'hiveuser'@'localhost';
    FLUSH PRIVILEGES;

2. 安装 Hive

  1. 下载并解压 Hive

    wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    tar -xzvf apache-hive-3.1.2-bin.tar.gz
    sudo mv apache-hive-3.1.2-bin /usr/local/hive
  2. 配置 Hive

    编辑 Hive 配置文件 /usr/local/hive/conf/hive-site.xml

    <configuration>
        <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.cj.jdbc.Driver</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>hiveuser</value>
        </property>
        <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>hivepassword</value>
        </property>
    </configuration>
  3. 启动 Hive Metastore

    启动 Hive 的 Metastore 服务:

    schematool -dbType mysql -initSchema
    nohup hive --service metastore &
  4. 启动 HiveServer2

    nohup hiveserver2 &

3. 验证 Hive

使用 beeline 或者其他 Hive 客户端连接到 HiveServer2 并执行查询,验证 Hive 是否正常工作:

beeline -u jdbc:hive2://localhost:10000

执行简单的查询以验证安装:

SHOW DATABASES;

总结

通过以上步骤,您可以在 Ubuntu 系统上成功部署一个 Hadoop 集群并配置 Hive。Hadoop 提供了分布式文件系统和计算框架,而 Hive 为大数据提供了 SQL 查询接口。通过配置 MySQL 作为元数据存储,您可以高效管理 Hive 的元数据,并使用 SQL 查询处理大规模数据集。


Viewing all articles
Browse latest Browse all 3145

Trending Articles