当前位置: 首页 > news >正文

Hive配置

目录

  • 1. 引言
  • 2. 通过docker-compose联动启动Hadoop和MySQL容器
  • 3. 配置Hive
    • 3.1 下载并解压Hive-4.0.1
    • 2.2 配置环境变量
    • 2.3 安装mysql-connector的jar包
    • 2.4 配置Hive
      • 2.4.1 hive-env.sh
      • 2.4.2 hive-site.xml
        • 2.4.2.1 javax.jdo.option.ConnectionURL
        • 2.4.2.2 javax.jdo.option.ConnectionDriverName
        • 2.4.2.3 javax.jdo.option.ConnectionUserName
        • 2.4.2.4 javax.jdo.option.ConnectionPassword
        • 2.4.2.5 修改\${system:java.io.tmpdir}和\${system:user.name}
      • 2.4.3 初始化Hive数据库
      • 2.4.4 在core-site.xml中增加配置
  • 4. 验证hive
  • 参考

1. 引言

  尽管我使用了华为云主机,但是我发现C盘的健康度还是在掉,因此我有回归使用docker了。反正没使用docker的这些天,我甚至在本地笔记本上都不写代码,只玩无限暖暖。甚至都不是木马病毒的问题。
在这里插入图片描述
  配置时,Hadoop容器的镜像是mengsui/hadoop_ubuntu24.04:1.4,mysql容器的镜像是ubuntu/mysql:latest。Hadoop容器负责Hadoop、HBase、Hive。
  通过docker使用配置好的容器的方法见下面2。

2. 通过docker-compose联动启动Hadoop和MySQL容器

  docker-compose.yml文件:

services:
  hadoop:
    container_name: hadoop_ubuntu
    image: mengsui/hadoop3.3.6_ubuntu24.04:1.0
    depends_on: 
      - mysql
    ports:
      - "8080:8080"
      - "8088:8088"
      - "9870:9870"
      - "16010:16010"
      - "16030:16030"
    networks:
      hadoop_network:
          ipv4_address: 172.18.0.2

  mysql:
    container_name: mysql_ubuntu
    image: ubuntu/mysql:latest
    ports:
      - "3306:3306"
      - "33060:33060"
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - mysql_data:/var/lib/mysql:rw
    networks:
      hadoop_network:
          ipv4_address: 172.18.0.3

networks:
  hadoop_network:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/24
          ip_range: 172.18.0.0/24
          gateway: 172.18.0.254

volumes:
  mysql_data:

  运行命令:docker compose -f 'docker-compose.yml' up -d --build
  最终在hadoop_ubuntu24.04容器中先start-dfs.sh && start-yarn.sh,再运行schematool -dbType mysql -initSchema即可(如果你运行后删除了这两个容器,而没有删除docker中的volume的话,则不需要重新运行schematool -dbType mysql -initSchema)。

3. 配置Hive

3.1 下载并解压Hive-4.0.1

  解压命令:

cd ~
wget https://dlcdn.apache.org/hive/hive-4.0.1/apache-hive-4.0.1-bin.tar.gz
tar -zxvf apache-hive-4.0.1-bin.tar.gz -C .
mv apache-hive-4.0.1-bin hive-4.0.1

2.2 配置环境变量

  用sudo vim /etc/profile编辑环境变量,输入如下内容,然后按ESC输入:wq!保存,最后用source /etc/profile使环境变量生效。

export HIVE_HOME=/root/hive-4.0.1
export PATH=$PATH:$HIVE_HOME/bin

2.3 安装mysql-connector的jar包

  首先从MySQL官网上下载对应系统版本的mysql-connector/J,然后安装,最后将安装的mysql-connector的jar包复制到~/hive-4.0.1/lib。

cd /tmp
wget https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-j_9.2.0-1ubuntu24.04_all.deb
apt install ./mysql-connector-j_9.2.0-1ubuntu24.04_all.deb -y
cp /usr/share/java/mysql-connector-j-9.2.0.jar /root/hive-4.0.1/lib

2.4 配置Hive

2.4.1 hive-env.sh

  在~/hive-4.0.1/conf路径下使用cp hive-env.sh.template hive-env.sh产生hive-env.sh文件,然后用vim hive-env.sh编辑文件,在文件末尾输入如下内容,然后按ESC输入:wq!保存。

export HADOOP_HOME=/root/hadoop-3.3.6
export JAVA_HOME=/lib/jvm/openjdk-8-amd64
export HIVE_HOME=/root/hive-4.0.1

2.4.2 hive-site.xml

  在~/hive-4.0.1/conf路径下使用cp hive-default.xml.template hive-site.xml产生hive-site.xml,然后用vim hive-site.xml编辑文件。

2.4.2.1 javax.jdo.option.ConnectionURL

  通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionURL,然后回车,接着按n键查找到指定项后,按i进行编辑,其中172.18.0.3是MySQL容器的ip地址。
在这里插入图片描述

2.4.2.2 javax.jdo.option.ConnectionDriverName

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionDriverName,然后回车,接着按n键查找到指定项后,按i进行编辑。
在这里插入图片描述

2.4.2.3 javax.jdo.option.ConnectionUserName

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionUserName,然后回车,接着按n键查找到指定项后,按i进行编辑,其中root是mysql容器中数据库的用户名。
在这里插入图片描述

2.4.2.4 javax.jdo.option.ConnectionPassword

  按ESC,通过vim自带的匹配功能查找指定配置:输入/javax.jdo.option.ConnectionPassword,然后回车,接着按n键查找到指定项后,按i进行编辑,其中123456是mysql容器中数据库root用户的密码。
在这里插入图片描述

2.4.2.5 修改${system:java.io.tmpdir}和${system:user.name}

  按ESC,通过vim自带的匹配功能查找指定配置:输入/${system:java.io.tmpdir}或/${system:user.name},然后回车,接着按n键查找到指定项后,按i进行编辑,分别改为/root/data/tmp和root。

2.4.3 初始化Hive数据库

  命令:schematool -dbType mysql -initSchema
  然后在mysql容器中用mysql -u root -p123456登录mysql,在其中输入如下内容。

grant all privileges on hive.* to 'root'@'%';
flush privileges;

2.4.4 在core-site.xml中增加配置

  在~/hadoop-3.3.6/etc/hadoop路径下的core-site.xml中增加如下配置。

        <property>
                <name>hadoop.proxyuser.root.hosts</name>
                <value>172.18.0.2,172.18.0.3</value>
        </property>
        <property>
                <name>hadoop.proxyuser.root.groups</name>
                <value>root</value>
        </property>

4. 验证hive

  启动Hadoop:start-dfs.sh && start-yarn.sh
  启动Hive:

nohup hive --service metastore &
nohup hive --service hiveserver2 &

  验证HIve:beeline -u "jdbc:hive2://172.18.0.2:10000" -n root
在这里插入图片描述
在这里插入图片描述

参考

吴章勇 杨强著 大数据Hadoop3.X分布式处理实战

相关文章:

  • 计算机毕业设计SpringBoot+Vue.js人口老龄化社区服务与管理平台 (源码+文档+PPT+讲解)
  • PHP实现登录和注册(附源码)
  • 如何通过rust实现自己的web登录图片验证码
  • react 中,使用antd layout布局中的sider 做sider的展开和收起功能
  • 对于运维稳定性建设的一些思考
  • Let‘s Encrypt 获取免费SSL证书
  • 如何在 IntelliJ IDEA 中集成 DeepSeek
  • DeepSeek实操教程(清华、北大)
  • MATLAB环境下从信号中去除60Hz工频干扰噪声
  • git push失败
  • 微服务笔记 2025/2/15
  • 计算机网络实验2-虚拟局域网(VLAN)划分
  • ES如何打印DSL
  • 一次GaussDB内存不足导致宕机的问题排查
  • SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
  • 1.C语言初识
  • JavaScript基础 -- 函数
  • 第三十三:6.3. 【mitt】 任意组件通讯
  • 第二章、python常用数据结构(2.2.1-2.3.2)------容器类型与容器类型的关系、数据类型与数据结构的关系
  • (动态规划 最长递增的子序列)leetcode 300
  • 公司flash网站模板/汕尾网站seo
  • 深圳品牌策划公司排行/移动端关键词排名优化
  • 设计说明100字/seo 优化一般包括哪些内容
  • 网站网站制作/软文生成器
  • 成功的网站必须具备的要素/搜索引擎优化方式
  • 网站优化软件排名优化/十大广告公司