CentOS7 服务器安装 Hadoop 和 Hive

CentOS 服务器安装 Hadoop 和 Hive流程

请将以下的路径更换为自己的路径

1. 环境准备

1.1 安装 JDK

Hadoop 和 Hive 需要 Java 运行环境,这里安装 OpenJDK 1.8:

bash 复制代码
# 查看 Java 版本
java -version

1.2 创建 Hadoop 用户(可选)

bash 复制代码
useradd hadoop
passwd hadoop

2. 安装 Hadoop

2.1 下载 Hadoop 3.3.6

bash 复制代码
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

2.2 解压并移动到目标目录

bash 复制代码
tar -zxvf hadoop-3.3.6.tar.gz
mv hadoop-3.3.6 /opt/CJY/hadoop

2.3 配置环境变量

编辑 /etc/profile 或 ~/.bashrc,添加以下内容:

bash 复制代码
export HADOOP_HOME=/opt/CJY/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后执行:

bash 复制代码
source /etc/profile

2.4 修改 Hadoop 配置

进入 Hadoop 配置目录:

bash 复制代码
cd $HADOOP_HOME/etc/hadoop
2.4.1 修改 hadoop-env.sh
bash 复制代码
export JAVA_HOME=/usr  自己的javahome
2.4.2 配置 core-site.xml

自己的地址,localhost使用服务器的内网地址比如:10.9.6.8

xml 复制代码
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
2.4.3 配置 hdfs-site.xml
xml 复制代码
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

2.5 初始化 HDFS

bash 复制代码
hdfs namenode -format

2.6 启动 Hadoop

bash 复制代码
start-dfs.sh

访问 Web UI 进行验证:

  • NameNode WebUI: http://<服务器IP>:9870

3. 安装 Hive

3.1 下载 Hive 3.1.3

bash 复制代码
wget https://dlcdn.apache.org/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

3.2 解压并移动到目标目录

bash 复制代码
tar -zxvf apache-hive-3.1.3-bin.tar.gz
mv apache-hive-3.1.3-bin /opt/CJY/hive

3.3 配置环境变量

编辑 /etc/profile 或 ~/.bashrc,添加以下内容:

bash 复制代码
export HIVE_HOME=/opt/CJY/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/opt/CJY/hadoop

然后执行:

bash 复制代码
source /etc/profile

3.4 配置 Hive 使用 MySQL 作为元数据库

3.4.1 创建 Hive 元数据库和用户

也可以使用navicate手动创建

bash 复制代码
mysql -u root -p

在 MySQL 中执行:

sql 复制代码
CREATE DATABASE hive_metastore DEFAULT CHARACTER SET utf8;
CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'hivepassword';
GRANT ALL PRIVILEGES ON hive_metastore.* TO 'hiveuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
3.4.2 安装 MySQL JDBC 驱动

从 MySQL 官方网站下载 mysql-connector-java-8.0.26.jar,或者从本地maven仓库拉一个。然后执行:

bash 复制代码
cp mysql-connector-java-8.0.26.jar /opt/CJY/hive/lib/
3.4.3 创建 hive-site.xml

在/opt/CJY/hive/conf目录下创建创建 hive-site.xml

bash 复制代码
cd /opt/CJY/hive/conf
vim hive-site.xml
xml 复制代码
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive_metastore?createDatabaseIfNotExist=true</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>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/opt/CJY/hive/warehouse</value>
    </property>
</configuration>

3.5 初始化 Hive 元数据库

bash 复制代码
/opt/CJY/hive/bin/schematool -initSchema -dbType mysql -driver com.mysql.cj.jdbc.Driver

3.6 测试 Hive

bash 复制代码
/opt/CJY/hive/bin/hive

在 Hive CLI 中执行:

sql 复制代码
SHOW DATABASES;
CREATE TABLE test_table (id INT, name STRING);
INSERT INTO test_table VALUES (1, 'Spark');
SELECT * FROM test_table;

如果返回预期结果,说明 Hive 配置成功!

相关推荐
中云DDoS CC防护蔡蔡2 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
欧米欧2 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
前端精髓3 小时前
调用大模型API
运维·服务器·microsoft
逆风的蚂蚁5 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
ESDWAN5 小时前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
发光小北7 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
程序猿老A7 小时前
轻量云服务器总是卡,内存占比高?
运维·服务器
沫璃染墨9 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html