首页 > 系统相关 >centos7安装hive

centos7安装hive

时间:2024-03-19 21:46:01浏览次数:17  
标签:opt bin hadoop hive centos7 3.1 apache 安装

三种模式的区别

安装模式 matedata位置存放位置 matestore部署方式
内嵌模式 本地内嵌数据derby中 内嵌
本地模式 独立数据库中 独立启动
远程模式 独立数据库中 独立启动

hive依赖hadoop,安装hive之前需要确保hadoop集群正常启动
hadoop安装参考:centos7安装hadoop(集群模式) - zhangyukun - 博客园 (cnblogs.com)

内嵌模式

  1. 修改hadoop配置文件,设置代理用户主机和代理组

    cd /opt/hadoop-3.3.6/etc/hadoop
    vi core-site.xml

    	<!--hive代理用户配置,登录到hiveserve2的用户会被模拟成指定用户,下面是配置不限制任何用户模拟 hadoop程序当前用户  -->
    	<!--xxx是安装hadoop的用户名,如果是root用户安装的就是root,如果用的是hadoop用户安装的就是hadoop  -->
    	<!--这两个配置如果没有正常配置,beeline客户端 就不能正常连接到 hiveserver2  -->
    	<property>
    		<name>hadoop.proxyuser.root.hosts</name>
    		<value>*</value>
    	</property>
    	<property>
    		<name>hadoop.proxyuser.root.groups</name>
    		<value>*</value>
    	</property>
    
    

    分发配置,然后重启hadoop集群

  2. 用hadoop里面guava新版本的jar包替换hive里面的jar包

    #复制hadoop中版本较新的guava包到hive
    cp /opt/hadoop-3.3.6/share/hadoop/common/lib/guava-27.0-jre.jar  /opt/apache-hive-3.1.3-bin/lib/
    
    #删除或者改后缀让老的包失效
    cd /opt/apache-hive-3.1.3-bin/lib/
    mv guava-19.0.jar guava-19.0.jar.bak
    
    
  3. 下载hive包(apache-hive-3.1.3-bin.tar.gz),然后解压,我再放/opt下面

    tar -zxvf apache-hive-3.1.3-bin.tar.gz
    
  4. 修改hive配置文件

    cd /opt/apache-hive-3.1.3-bin/conf
    cp hive-env.sh.template hive-env.sh
    

    vi hive-env.sh

    #配置hadoop根目录(如果配置了环境变量可以不配置)
    HADOOP_HOME=/opt/hadoop-3.3.6
    
    #hive配置文件目录,默认就在这里,可以不用配置
    export HIVE_CONF_DIR=/opt/apache-hive-3.1.3-bin/conf
    
    #hive 依赖jar包的位置,默认就是这里,所以也可以不配
    export HIVE_AUX_JARS_PATH=/opt/apache-hive-3.1.3-bin/lib
    
    
  5. 初始化数据库

    ./schematool -dbType derby -initSchema
    

    初始化以后在当前目录多了一个存储metastore_db,和一个derby.log文件

    [root@vm200 bin]# ll
    total 68
    -rwxr-xr-x 1 hadoop hadoop   881 Oct 24  2019 beeline
    -rw-rw-r-- 1 hadoop hadoop 22226 Mar 19 15:23 derby.log
    drwxrwxr-x 3 hadoop hadoop  4096 Mar 19 14:12 ext
    -rwxr-xr-x 1 hadoop hadoop 10158 Mar 29  2022 hive
    -rwxr-xr-x 1 hadoop hadoop  2085 Feb 28  2022 hive-config.sh
    -rwxr-xr-x 1 hadoop hadoop   885 Oct 24  2019 hiveserver2
    -rwxr-xr-x 1 hadoop hadoop   880 Oct 24  2019 hplsql
    -rwxr-xr-x 1 hadoop hadoop  3064 Oct 24  2019 init-hive-dfs.sh
    drwxrwxr-x 5 hadoop hadoop   133 Mar 19 15:23 metastore_db
    -rwxr-xr-x 1 hadoop hadoop   832 Oct 24  2019 metatool
    -rwxr-xr-x 1 hadoop hadoop   884 Oct 24  2019 schematool
    
  6. 启动hive客户端
    只能在执行了初始化的目录启动,并且如果不同目录方位的到的metastore不一样,读取到的数据也不一样

    ./hive
    

本地模式

  1. 安装mysql
    参考:https://www.cnblogs.com/cxygg/p/9294276.html

  2. 修改hadoop配置文件,设置代理用户主机和代理组

    cd /opt/hadoop-3.3.6/etc/hadoop
    vi core-site.xml

    	<!--hive代理用户配置,登录到hiveserve2的用户会被模拟成指定用户,下面是配置不限制任何用户模拟 hadoop程序当前用户  -->
    	<!--xxx是安装hadoop的用户名,如果是root用户安装的就是root,如果用的是hadoop用户安装的就是hadoop  -->
    	<!--这两个配置如果没有正常配置,beeline客户端 就不能正常连接到 hiveserver2  -->
    	<property>
    		<name>hadoop.proxyuser.xxx.hosts</name>
    		<value>*</value>
    	</property>
    	<property>
    		<name>hadoop.proxyuser.xxx.groups</name>
    		<value>*</value>
    	</property>
    
    

    分发配置,然后重启hadoop集群

  3. 下载hive包(apache-hive-3.1.3-bin.tar.gz),然后解压,我再放/opt下面

    tar -zxvf apache-hive-3.1.3-bin.tar.gz
    
  4. 用hadoop里面guava新版本的jar包替换hive里面的jar包

    #复制hadoop中版本较新的guava包到hive
    cp /opt/hadoop-3.3.6/share/hadoop/common/lib/guava-27.0-jre.jar  /opt/apache-hive-3.1.3-bin/lib/
    
    #删除或者改后缀让老的包失效
    cd /opt/apache-hive-3.1.3-bin/lib/
    mv guava-19.0.jar guava-19.0.jar.bak
    
    
  5. 上传mysql驱动包(mysql-connector-java-8.0.15.jar),到hive的 lib目录

  6. 创建配置文件hive-site.xml。(hive-default.xml.template里面有很多默认配置,下面的配置里面都有)

    cd /opt/apache-hive-3.1.3-bin/conf
    cp hive-env.sh.template hive-env.sh
    

    vi hive-site.xml

    <configuration>
    
    	<!-- mysql配置 -->
    	<property>
    		<name>javax.jdo.option.ConnectionURL</name>
    		<value>jdbc:mysql://192.168.100.66:3306/hive?createDatabaseIfNotExist=true&amp;rewriteBatchedStatements=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;zeroDateTimeBehavior=convertToNull&amp;allowMultiQueries=true&amp;serverTimezone=Hongkong&amp;useSSL=false&amp;allowPublicKeyRetrieval=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>root</value>
    	</property>
    	<property>
    		<name>javax.jdo.option.ConnectionPassword</name>
    		<value>root</value>
    	</property>
    	
    	<!-- 关闭metastore授权 -->
    	<property>
    		<name>hive.metastore.event.db.notification.api.auth</name>
    		<value>false</value>
    	</property>
    	<!-- 关闭元数据存储版本验证,如果你使用了之前版本hive初始化的元数据可能会报错,这个配置是关闭验证 -->
    	<!-- metastore存放的版本本信息在version表中 -->
    	<property>
    		<name>hive.metastore.schema.verification</name>
    		<value>false</value>
    	</property>
    	
    
    
    </configuration>
    
  7. 初始化数据库

    #初始化数据库
    cd /opt/apache-hive-3.1.3-bin/bin
    ./schematool -initSchema -dbType mysql -verbos
    
  8. 初始化数据库以后会在mysql 中创建对应的数据库和表
    image-20240319162005647

  9. 启动客户端

    ./hive
    

远程模式

image-20240319174307860

  1. 安装mysql
    参考:https://www.cnblogs.com/cxygg/p/9294276.html

  2. 修改hadoop配置文件,设置代理用户主机和代理组

    cd /opt/hadoop-3.3.6/etc/hadoop
    vi core-site.xml

    	<!--hive代理用户配置,登录到hiveserve2的用户会被模拟成指定用户,下面是配置不限制任何用户模拟 hadoop程序当前用户  -->
    	<!--xxx是安装hadoop的用户名,如果是root用户安装的就是root,如果用的是hadoop用户安装的就是hadoop  -->
    	<!--这两个配置如果没有正常配置,beeline客户端 就不能正常连接到 hiveserver2  -->
    	<property>
    		<name>hadoop.proxyuser.root.hosts</name>
    		<value>*</value>
    	</property>
    	<property>
    		<name>hadoop.proxyuser.root.groups</name>
    		<value>*</value>
    	</property>
    
    

    分发配置,然后重启hadoop集群

  3. 下载hive包(apache-hive-3.1.3-bin.tar.gz),然后解压,我再放/opt下面

    tar -zxvf apache-hive-3.1.3-bin.tar.gz
    
  4. 用hadoop里面guava新版本的jar包替换hive里面的jar包

    #复制hadoop中版本较新的guava包到hive
    cp /opt/hadoop-3.3.6/share/hadoop/common/lib/guava-27.0-jre.jar  /opt/apache-hive-3.1.3-bin/lib/
    
    #删除或者改后缀让老的包失效
    cd /opt/apache-hive-3.1.3-bin/lib/
    mv guava-19.0.jar guava-19.0.jar.bak
    
    
  5. 上传mysql驱动包(mysql-connector-java-8.0.15.jar),到hive的 lib目录

  6. 创建配置文件hive-site.xml。(hive-default.xml.template里面有很多默认配置,下面的配置里面都有)

    cd /opt/apache-hive-3.1.3-bin/conf
    cp hive-env.sh.template hive-env.sh
    

    vi hive-site.xml

    <configuration>
    
    	<!-- mysql配置 -->
    	<property>
    		<name>javax.jdo.option.ConnectionURL</name>
    		<value>jdbc:mysql://192.168.100.66:3306/hive?createDatabaseIfNotExist=true&amp;rewriteBatchedStatements=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true&amp;zeroDateTimeBehavior=convertToNull&amp;allowMultiQueries=true&amp;serverTimezone=Hongkong&amp;useSSL=false&amp;allowPublicKeyRetrieval=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>root</value>
    	</property>
    	<property>
    		<name>javax.jdo.option.ConnectionPassword</name>
    		<value>root</value>
    	</property>
    	
    	<!-- 关闭metastore授权 -->
    	<property>
    		<name>hive.metastore.event.db.notification.api.auth</name>
    		<value>false</value>
    	</property>
    	<!-- 关闭元数据存储版本验证,如果你使用了之前版本hive初始化的元数据可能会报错,这个配置是关闭验证 -->
    	<!-- metastore存放的版本本信息在version表中 -->
    	<property>
    		<name>hive.metastore.schema.verification</name>
    		<value>false</value>
    	</property>
    	
    	<!-- 远程部署的metastore服务地址(如果不配置这个,就会本地启动一个metastore,配了就需要独立启动) -->
    	<!--- hive客户端就是通过这个配置找到 metastore的 -->
    	<property>
    		<name>hive.metastore.uris</name>
    		<value>thrift://vm200:9083</value>
    	</property>
    	
    	<!-- H2S 运行在哪里机子上 -->
    	<property>
    		<name>hive.server2.thrift.bind.host</name>
    		<value>vm200</value>
    	</property>
    	
    
    </configuration>
    
  7. 初始化数据库

    #初始化数据库
    cd /opt/apache-hive-3.1.3-bin/bin
    ./schematool -initSchema -dbType mysql -verbos
    
  8. 初始化数据库以后会在mysql 中创建对应的数据库和表
    image-20240319162005647

  9. 启动metastore

    #默认是前台启动
    ./hive --service metastore
    
    
    #后台启动
     nohup ./hive --service metastore &
    
  10. 启动客户端

    ./hive
    
  11. 启动 hiveserver2

     nohup ./hive --service hiveserver2 &
    
  12. 启动beeline并且连接hiveserver2

    ! connect jdbc:hive2://vm200:10000
    

标签:opt,bin,hadoop,hive,centos7,3.1,apache,安装
From: https://www.cnblogs.com/cxygg/p/18084007

相关文章

  • 双版本jdk的安装与使用切换
    作为一个Java学习者,学习不同版本的jdk,我觉得还是挺必要的,了解其中的新特性,所以这篇我写了关于对于不同版本的jdk使用安装与切换,请放心食用,实在不懂可以联系作者为你解答先来说一下安装这两个jdk的过程:8版本安装是会安装两次,先是jdk,然后是jre,所以我们在这个文件夹中有两个关于同......
  • 虚拟机部署centos系统部署docker和mysql的安装过程
    作者本人使用的是vmware17Pro虚拟机,大家可以去网上找相关教程下载安装,此总结后边有多次安装遇到的bug,要是有地方不妥,欢迎相互交流在刚开始时,我们先部署的是Linux虚拟机,在设置Linux系统基础环境时,系统就基本具有一些网络服务功能,差不多类似于现实中大型的服务器,还有设置网络这一块......
  • python27安装pygame
    参考:https://cloud.tencent.com/developer/article/2089701我安装的是1.9.3版本https://pypi.org/project/pygame/1.9.3/#files按照自己本地的环境下载,比如我的是python27,windows64,我安装的就是 pygame-1.9.3-cp27-cp27m-win_amd64.whl安装命令:pipinstallxxxx.whl 试......
  • 关于centos7.6使用秘钥登陆,安装git和.net core
    秘钥登陆先用root登陆ssh-keygen-trsa使用上述指令生成rsa秘钥cat/root/.ssh/id_rsa.pub>>/root/.ssh/authorized_keys然后使用上面指令复制公钥到authorized_keysvim/etc/ssh/sshd_config编辑 重启sshd服务systemctlrestartsshd最后下载私钥到本地......
  • macOS brew安装
    brew可以用命令在mac上安装、卸载、更新各种软件包。它是一个用ruby写的软件,软件是托管在github上的。1、安装brew,一般选择清华源,如果之前安装过brew,执行下面命令时会自动备份old_homebrew,按照操作执行即可;/bin/zsh-c"$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/m......
  • 常用命令-查看软件信息-安装-在哪-rpm
    常用命令-查看软件信息-安装-在哪-rpmrpm常用选项rpm(RedHatPackageManager)是RedHat公司提出的一种用于Linux系统下的软件包管理工具,在基于RPM包管理的Linux发行版中广泛使用,例如RHEL(RedHatEnterpriseLinux)、CentOS、Fedora等。以下是rpm命令的一些常用选项及其功能:###......
  • 【NodeJS】GLIBC_2.28 not found CentOS7不兼容Node高版本 npm报错
    CentOS7环境下安装Nvm,在执行nvmuse18.17.0后执行node-v爆出如下错误 bash复制代码node:/lib64/libm.so.6:version`GLIBC_2.27'notfound(requiredbynode)node:/lib64/libc.so.6:version`GLIBC_2.25'notfound(requiredbynode)node:/lib64/libc.so......
  • RestCloud数据集成平台-Windows全量包安装部署详细教程
     1.安装准备1.1服务器硬件环境要求RestcloudDataOps服务器的最低运行环境如下:CPU:Intel1.6GHz4核或以上内存:可用内存4G或以上(不包括操作系统等其他程序占用内存)可用硬盘空间:40G或以上最少服务器数量:1台1.2服务器端软件环境要求支持操作系统:Windows11/Windows10/W......
  • 小白如何在服务器上配置环境(连接Linux服务器和anaconda3安装)
    由于服务器账号原因,悲惨的博主只能从头开始配置环境,但是博主脑子的缓存比较小,一周前配好的现在就忘掉了,为了防止再发生这种问题,博主从头开始记录一下。(连接Linux服务器和anaconda3安装)第一步连接到服务器1.安装插件(ReomoteSSH),安装好了之后点击左下角的><,点击“连接到主机.........
  • 手动安装deb包,用dpkg和ap-get方式
    apt-get安装deb的包在Linux系统中,使用apt-get命令安装.deb包是一个常见的操作。以下是一个简单的命令示例,用于安装一个名为package.deb的本地.deb包:sudoapt-getinstall./package.deb如果你需要从远程仓库安装一个.deb包,你可以先使用dpkg安装.deb包,如下所示:s......