23年hadoop单机版+hive

news2024/11/25 12:45:01

文章目录

  • 说明
  • 分享
  • 环境信息
  • 安装
    • jdk
    • hadoop
      • 配置core-site.xml
    • mysql
    • hive
      • 安装
      • 配置hive-site.xml
      • 配置hive-env
      • 初始化mysql数据库
      • 启动验证
        • hive命令
        • hiveserver2方式
  • 总结

说明

工作需要研究hive功能,线上环境不能动,搭建单机版hadoop+hive测试环境,使用当前最新hadoop 3.3.6+ hive 3.1.3。

分享

  • 大数据博客列表
  • 开发记录汇总
  • 个人java工具库 项目https://gitee.com/wangzonghui/object-tool
    • 包含json、string、集合、excel、zip压缩、pdf、bytes、http等多种工具,欢迎使用。

环境信息

  • 系统环境 centos7
  • 安装目录:
    • java: /usr/java/
    • hadoop: /opt/module/
    • hive: /opt/module/

安装

jdk

  • 准备java8安装包:jdk-8u201-linux-x64.tar.gz

  • 解压安装:mkdir -p /usr/java && tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java/

  • 配置环境变量,编辑文件:vi /etc/profile.d/my_env.sh 增加jdk环境变量

    
    #JAVA_HOME export是全局变量
    export JAVA_HOME=/usr/java/jdk1.8.0_201
    export PATH=$PATH:$JAVA_HOME/bin
    
  • 刷新配置 source /etc/profile

  • 验证 java -version

hadoop

  • 下载hadoop 3.3.6 下载地址 ,解压安装包: mkdir -p /opt/module/ && tar -zxvf hadoop-3.3.4.tar.gz -C /opt/module/
  • hadoop不添加到环境变量,hive配置文件指定物理路径

配置core-site.xml

  • 修改文件:vi /opt/module/hadoop-3.3.6/etc/hadoop/core-site.xmlconfiguration 节点间增加主机和用户组权限配置,完整内容如下:
<configuration>
    <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
    </property>
    <property>
            <name>hadoop.proxyuser.root.groups</name>
            <value>*</value>
    </property>
</configuration>

mysql

  • hive运行需要mysql存储元数据,mysql8版本 8.0.33 下载地址
  • 安装过程
# 解压安装包
tar -xvf mysql-*-1.el7.x86_64.rpm-bundle.tar

# 安装 
rpm -ivh mysql-community-common-*-1.el7.x86_64.rpm --nodeps --force && rpm -ivh mysql-community-libs-*-1.el7.x86_64.rpm --nodeps --force && rpm -ivh mysql-community-client-*-1.el7.x86_64.rpm --nodeps --force && rpm -ivh mysql-community-server-*-1.el7.x86_64.rpm --nodeps --force

# 验证,查看安装mysql
rpm -qa | grep mysql

# 输入以下命令,完成mysql初始化
mysqld --initialize
# 设置目录权限
chown mysql:mysql /var/lib/mysql -R

# 启动服务和开机启动
systemctl start mysqld.service && systemctl enable mysqld

# 查看默认初始化密码
cat /var/log/mysqld.log | grep password
# 重置root密码并设置root账号远程登录
mysql -uroot -p --connect-expired-password -e "alter user 'root'@'localhost' identified by '12WE#o89T';
create user 'root'@'%' identified by '12WE#o89T';
USE mysql;
grant all on *.* TO 'root'@'%';
FLUSH PRIVILEGES;"

hive

  • hive 3.1.3 下载地址

安装

  • 解压安装:mkdir -p /opt/module/ && tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/module/
  • 配置环境标量,编辑文件:vi /etc/profile.d/my_env.sh,增加如下内容
export HIVE_HOME=/opt/module/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin  
  • 刷新配置 source /etc/profile

配置hive-site.xml

  • 复制文件,cp /opt/module/apache-hive-3.1.3-bin/conf/hive-default.xml.template /opt/module/apache-hive-3.1.3-bin/conf/hive-site.xml
  • 修改下面内容,注意自己MySQL配置,vi /opt/module/apache-hive-3.1.3-bin/conf/hive-site.xml,添加如下内容
  <!-- mysql连接地址 -->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?&amp;createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
  </property>
  <!-- mysql用户名 -->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  <!-- mysql密码 -->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>12WE#o89T</value>
  </property>
  <!-- mysql连接驱动类,这里用mysql8,mysql5是:com.mysql.jdbc.Driver -->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
  </property>
  <property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value> 
  </property>
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>
  <!-- hive登录用户名 -->
  <property>
    <name>hive.server2.thrift.client.user</name>
    <value>root</value>
    <description>Username to use against thrift client</description>
  </property>
  <!-- hive登录用户密码 -->
  <property>
    <name>hive.server2.thrift.client.password</name>
    <value>1234</value>
    <description>Password to use against thrift client</description>
  </property>
  <!-- 数据缓存目录 -->
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>
  • 设置缓存目录权限:chmod 777 /tmp/hive

配置hive-env

  • 复制hive-env.sh文件 cp /opt/module/apache-hive-3.1.3-bin/conf/hive-env.sh.template /opt/module/apache-hive-3.1.3-bin/conf/hive-env.sh
  • 修改文件添加Hadoop、hive路径,vi /opt/module/apache-hive-3.1.3-bin/conf/hive-env.sh
HADOOP_HOME=/opt/module/hadoop-3.3.6
export HIVE_CONF_DIR=/opt/module/apache-hive-3.1.3-bin/conf

初始化mysql数据库

  • 下载mysql连接jar:wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar,放在 cp mysql-connector-java-*.jar /opt/module/apache-hive-3.1.3-bin/lib && ls /opt/module/apache-hive-3.1.3-bin/lib/mysql-connector-java-*.jar
  • 初始化mysql数据库:/opt/module/apache-hive-3.1.3-bin/bin/schematool -initSchema -dbType mysql
  • 最后提示completed说明初始化成功
Initialization script completed
schemaTool completed
  • 初始化报错
    SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
    Exception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
    at [row,col,system-id]: [3215,96,"file:/opt/module/apache-hive-3.1.3-bin/conf/hive-site.xml"]
        at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3101)
        at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:3050)
        at org.apache.hadoop.conf.Configuration.loadProps(Configuration.java:2923)
        at org.apache.hadoop.conf.Configuration.addResourceObject(Configuration.java:1035)
        at org.apache.hadoop.conf.Configuration.addResource(Configuration.java:940)
        at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5154)
        at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5107)
        at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:96)
        at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1473)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:328)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:241)
    

    解决方法,删除:file:/opt/module/apache-hive-3.1.3-bin/conf/hive-site.xml 3215行注释即可,原因是xml解析异常。

启动验证

hive命令

  • hive命令是本地客户端登录,官方推荐使用hiveServer2的beeline方式。
    在这里插入图片描述

hiveserver2方式

  • 创建日志目录:mkdir -p /opt/module/logs/,后台启动 hiveserver2 服务:nohup hive --service hiveserver2 > /opt/module/logs/hive3.1.3.log 2>&1 &

  • beeline 连接验证

beeline
!connect jdbc:hive2://localhost:10000 root 1234

在这里插入图片描述

总结

  • hive云数据存储数据库可以不用mysql,习惯用mysql,也可以简化安装用其他数据库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722876.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pyodbc读取.mdb文件时出现[ODBC Microsoft Access Driver] 网络访问已中断。请关闭数据库.....解决方法

在使用pyodbc读取.mdb文件时出现下面的错误 : ODBC Microsoft Access Driver] 网络访问已中断。若要继续&#xff0c;请关闭数据库&#xff0c;然后再将其打开。 (-1022) (SQLDriverConnect) 网上找了很多方法&#xff0c;最后通过下面的方法解决了&#xff0c;就是安装64位的…

搜索团队的技术小结

搜索业务形态 CSDN作为开发者内容中心&#xff0c;主要通过分发博客和商业产品&#xff08;下载资源&#xff09;满足用户碎片化学习需求&#xff1b;产品形态上通过以下3种方式来承接用户需求 1. 站内搜索框 2. 博客相关推荐 3. 下载相…

前端基础知识学习——滑动门(利用背景图像的可层叠性 创造特殊效果)

滑动门&#xff1a;利用背景图像的可层叠性&#xff0c;并允许他们在彼此之上进行滑动&#xff0c;以创造一些特殊的效果。 举例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"…

Linux快速搭建Java环境

1. 安装JDK运行与调试 搭建Java环境 1. 安装JDK 打开命令行执行 sudo apt install default-jdk 有确定的选项直接y就行 安装拓展: 1 . 有时候vscode会自动弹出消息叫你安装拓展,直接点击全部安装就行了 2 . 未弹出或安装失败解决: 打开拓展搜索,把下面的,全部安装就行 这样就可…

适合小企业的小型CRM软件如何选择

市场上有很多小型CRM软件&#xff0c;但很多企业在选型时不知道如何选择&#xff0c;应该考虑哪些因素&#xff0c;什么样的小型CRM软件好&#xff1f;推荐您选择专为小企业设计的CRM客户管理系统。 1、适合初学者&#xff1a; 适合没有使用过CRM软件的企业或个人&#xff0c…

ApiJson json转sql部分示例

ApiJson json转sql部分示例&#xff08;关于json较多&#xff0c;仅供自己快速回顾&#xff09; 首先提供腾讯的APIJSON文档的网址&#xff0c;内容来自于此&#xff1a;部分示例图片 首先提供腾讯的APIJSON文档的网址&#xff0c;内容来自于此&#xff1a; 链接: APIJSON文档…

Matlab隐藏彩蛋

Matlab中的彩蛋实现与Matlab的版本有着重要关系&#xff0c;像Android一样&#xff0c;不同的版本对应不同的彩蛋。这里以Matlab 2016A为例。 1.最著名的一个&#xff0c;命令行窗口输入“image”&#xff0c;就会出现一张倒置的小孩脸&#xff0c;不知情的使用者很可能会被吓…

Solved: “The unsigned image‘s hash is not allowed (DB)“

Solved: “The unsigned image’s hash is not allowed (DB)” 原因是 Secure Boot 的锅 In Hyper-V Manager, make sure the virtual machine is turned off. Select the virtual machine.Right click and select “Settings”Go to “Security”Uncheck “Enable Secure Boo…

【算法系列】滑动窗口

计算长度为k的连续子数组的最大总和 给定一个整数数组&#xff0c;计算长度为k的连续子数组的最大总和。 输入&#xff1a;arr [] {100,200,300,400} k 2输出&#xff1a;700解释&#xff1a;300 400 700解决思路 暴力解法&#xff1a;从k到n-k1&#xff0c;计算k长度大…

短视频seo矩阵系统+抖音小程序源码开源部署(二)

一、短视频矩阵源码系统开发要则&#xff1a; 1. 需求分析&#xff1a;对短视频平台的需求进行全面分析&#xff0c;确立系统开发目标和方向。 2. 技术选型&#xff1a;选用最适合的技术开发短视频矩阵系统&#xff0c;如前端框架、数据库、服务器等。 3. 系统设计&#xff…

Parseval’s theorem

一、Parseval’s theorem介绍 帕塞瓦尔定理Parseval’s theorem表明了信号的能量在时域和频域相等。 ∫ − ∞ ∞ ∣ f ( t ) ∣ 2 d t 1 2 π ∫ − ∞ ∞ ∣ F ( ω ) ∣ 2 d ω ∫ − ∞ ∞ ∣ F ^ ( f ) ∣ 2 d f \int_{-\infty}^{\infty}|f(t)|^{2} \mathrm{~d} t\frac…

Android Studio实现内容丰富的安卓美食管理发布平台

如需源码可以添加q-------3290510686&#xff0c;也有演示视频演示具体功能&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动。 项目编号079 1.开发环境 android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查…

web安全php基础_php数据类型

PHP 数据类型 PHP 支持以下几种数据类型: String&#xff08;字符串&#xff09;Integer&#xff08;整型&#xff09;Float&#xff08;浮点型&#xff09;Boolean&#xff08;布尔型&#xff09;Array&#xff08;数组&#xff09;Object&#xff08;对象&#xff09;NULL&…

2023 亚马逊云科技中国峰会:全面加码 AIGC、深耕中国下一个十年

编辑 | 宋慧 出品 | CSDN 云计算 亚马逊云科技每年在中国的顶级会议——2023亚马逊云科技中国峰会如期而至。今年中国峰会回归线下举办&#xff0c;主会场和分论坛几乎全部爆满&#xff0c;技术展区人头攒动&#xff0c;现场技术赛事与开发者大讲堂活动丰富精彩&#xff0c;可…

基于SSM的高校专业信息管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【UE】通过滑条放大子画面

在文章&#xff08;【UE4 第一人称射击游戏】33-创建一个小地图&#xff09; 基础上实现通过滑条放大子画面 效果 步骤 在控件蓝图中拖入滑条组件 主要的思想就是当滑条的值变更时去改变摄像机相对位置

图片框架Glide学习总结及插件实现

一.前言 图片加载框架个人选择的是Glide&#xff0c;该框架非常优秀&#xff0c;其知识体系很庞大&#xff0c;个人就对Glide部分知识的学习做一下总结&#xff0c;同时对框架的使用做一下封装&#xff0c;做成插件。 二.知识主干 知识主干如下&#xff0c;每一部分的知识会…

Selenium基础 — Selenium自动化测试框架介绍

1、什么是selenium Selenium是一个用于Web应用程序测试的工具。只要在测试用例中把预期的用户行为与结果都描述出来&#xff0c;我们就得到了一个可以自动化运行的功能测试套件。Selenium测试套件直接运行在浏览器中&#xff0c;就像真正的用户在操作浏览器一样。Selenium也是…

TPU-MLIR实战——ResNet18部署

1.编译ONNX模型 本章以 resnet18.onnx 为例, 介绍如何编译迁移一个onnx模型至BM1684X TPU平台运行。 该模型来自onnx的官网: models/vision/classification/resnet/model/resnet18-v1-7.onnx at main onnx/models GitHub 本例模型和代码在 http://219.142.246.77:65000//…

MySQL密码授权

目录 更改密码策略 方法1:临时修改​编辑 方法2:初始化时不启用​编辑 方法3:修改配置文件 远程登录 法一&#xff1a; 1、配置root密码&#xff08;或 use mysql&#xff09; 2、更新为所有主机 3、刷新权限表 法二&#xff1a;添加权限 更改密码策略 方法1:临时修改…