Hive数据库:嵌入、本地、远程全攻略(下)

这篇具有很好参考价值的文章主要介绍了Hive数据库:嵌入、本地、远程全攻略(下)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先介绍一下本地模式和远程模式:

当使用本地模式时,Hive将其元数据存储在本地数据库(例如MySQL)中,使其成为一个独立的数据处理系统。在本地模式中,Hive的配置文件(hive-site.xml)中的连接URL指向本地数据库,而不是嵌入式模式中使用的Derby数据库。此模式适用于小规模的数据处理需求,通常在单个节点上运行。

在远程模式下,Hive被配置为通过Thrift服务与远程的Hive服务器进行通信。这允许将Hive设置为分布式系统,其中Hive客户端和Hive服务器可以分布在不同的节点上。在这种情况下,Hive客户端通过Thrift协议与Hive服务器通信,执行查询和操作。远程模式适用于需要处理大规模数据集的场景,可以充分利用分布式计算资源。

1.本地模式的安装与配置:
该模式需将hive-site.xml中的ConnectionURL指向mysql,并配置好驱动名、数据库连接账号,在slave1下
(1)、Hive的配置:
1.配置hive-site.xml:
vi  hive-site.xml

<property>
    <name>hive.metastore.warehouse.dir</name>  
    <value>/warehousedir/home</value>  
</property> 
<property>
         <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.222.174:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
</property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
</property>
<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
</property>


(前提:要启动hadoop:cd/usr/hadoop/hadoop-2.7.3 接着sbin/start-all.sh)
2.启动hive:

bin/hive  --service 

3.远程模式的安装与配置:
(slave2安装mysql,hive做本地模式;slave1作为hive server;slave2作为客户端)
(1)slave2中安装mysql
1. (安装MySQL的引导包)
(1). yum install -y wget   
(2). wget -I -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm  
(3). ls查看,若没有则重新安装一次) 


2. 安装文件:rpm -ivh mysql57-community-release-el7-8.noarch.rpm


3. 安装MySQL服务器:yum -y install mysql-community-server


4. 安装补丁:rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022)


5. 重载被MySQL安装修改了的文件:systemctl daemon-reload


6. 首次启动MySQL:systemctl start  mysqld.service


查看MySQL的运行状态:systemctl status  mysqld.service


7. 修改数据库密码及密码规则:
(1). 查密码:grep "password" /var/log/mysqld.log (查看的是临时密码)
(2). 登录MySQL:mysql -uroot –p  (-p后面加临时密码,临时密码与
p之间没有间隔)
(3). 修改密码规则:set global validate_password_policy=0;
                set global validate_password_mixed_case_count=0;
                set global validate_password_number_count=3;
                set global validate_password_special_char_count=0;
                set global validate_password_length=1;


(4). 修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
(5). quit 或\q退出后重新登录;
8. 让别的服务器远程访问mysql:


(1).提高权限:create user ‘root'@‘%' identified by'123456';
                     GRANT ALL PRIVILEGES ON *.* TO ‘root'@‘%'WITH GRANT OPTION;


(2).刷新权限:flush privileges;


(3).修改mysql数据库中的user表:update user set host = '%' where user = 'root’; (若已经改好则会出错,用Ctrl+c退出即可)
(4).验证是否修改好:use mysql;
                         select host, user from user;

(2)将hive2.1.1传到master:/opt/soft
mkdir  /usr/hive
tar  -zxvf   /opt/soft/hive-2.1.1-bin.tar.gz  -C   /usr/hive
(4)配置环境变量:
vi /etc/profile:
#hive
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin
(5) 解决jar包依赖和版本冲突
(在master)cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
上传mysql-connector-java-5.1.7-bin.jar包至/usr/hive/apache-hive-2.1.1-bin/lib
(5)分发给其他三台
scp  –r  /usr/hive master:/usr
(6)配置hive-env.sh:
cd $HIVE_HOME/conf
cp  hive-env.sh.template   hive-env.sh
vi  hive-env.sh
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
(7)配置hive-site.xml:
vi  hive-site.xml
(1).slave1 作为服务端(处理元数据):
hive-site.xml配置如下:

<configuration>
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/warehousedir/home</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>
</property>
<property>
  <name>hive.metastore.schema.verification</name>
 <value>false</value>
</property>
<property>
  <name>datanucleus.schema.autoCreateAll</name>
  <value>true</value>
</property>
<property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
</property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
<value>/tmp/hive/resources</value>
</property>
</configuration>

(2)slave2 作为客户端配置hive   

<configuration>
<property>
    <name>hive.metastore.warehouse.dir</name> 
    <value>/warehousedir/home</value> 
</property>
<property>
    <name>hive.metastore.local</name> 
    <value>false</value> 
</property>
<property>
    <name>hive.metastore.uris</name> 
    <value>thrift://slave1:9083</value> 
</property>
<property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
  </property>
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
  </property>
  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
  </property>
</configuration>


(8)初始化数据库(或不需要)
schematool -dbType mysql -initSchema
(9)启动hive
(slave1)bin/hive --service metastore
(slave2)bin/hive
在slave2中打开hive,此时通过slave1 远程调用mysql,slave1处于元数据服务挂起状态

至此,本地部署和远程部署已全部完成

xml文件也已全部打包好,放在文章顶部,需要者自取文章来源地址https://www.toymoban.com/news/detail-808407.html

到了这里,关于Hive数据库:嵌入、本地、远程全攻略(下)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 本地建隧道连接远程mysql数据库

    1、服务器mysql数据库本地连接开发3306有安全风险,开发和运营过程中往往需要本地操作数据库,远程上去操作数据库非常的不方便 2、在本地建隧道连接远程数据库,关闭服务器连接,数据库连接自动中断,安全又方便 3、下面是具体的操作流程,需要的小伙伴可以参考使用

    2024年02月10日
    浏览(44)
  • 如何在Linux用Docker部署MySQL数据库并远程访问本地数据库

    本文主要介绍如何使用Docker部署MySQL,并结合cpolar内网穿透工具实现远程访问本地数据库。 Docker提供了一个轻量级的容器化解决方案,可以更好的简化数据库的部署过程。让创建和管理MySQL数据库变得更简单快捷。下面就来分享一下具体的部署过程,并提出一些需要注意的事

    2024年03月10日
    浏览(41)
  • MariaDB数据库本地部署结合cpolar内网穿透实现远程连接

    本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaDB数据库 1.1 安装MariaDB数据库 进入MariaDB数据库官网https://mariadb.com/downloads/community/,然后下载相应的windows版本 下载好后点击安装,出现设置

    2024年02月03日
    浏览(54)
  • 公网环境使用navicat图形化工具远程连接本地MariaDB数据库

    本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaDB数据库 1.1 安装MariaDB数据库 进入MariaDB数据库官网https://mariadb.com/downloads/community/,然后下载相应的windows版本 下载好后点击安装,出现设置

    2024年02月04日
    浏览(65)
  • 如何搭建MariaDB并实现无公网ip环境远程连接本地数据库

    🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​ 💫个人格言:“没有罗马,那就自己创造罗马~” 本篇教程将使用cpolar内网穿透本地MariaDB数据库,并实现在外公网环境下使用navicat图形化工具远程连接本地内网的MariaDB数据库。 1. 配置MariaD

    2024年01月22日
    浏览(48)
  • IntelliJ IDEA如何使用固定地址公网远程访问本地Mysql数据库

    IDEA作为Java开发最主力的工具,在开发过程中需要经常用到数据库,如Mysql数据库,但是在IDEA中只能连接本地数据库,有时候需要访问其他地方如家里或者公司的数据库,将无法访问,内网的局限性导致我们只能在同一网络访问,无法跨网络访问,所以,本例将介绍如何在异

    2024年02月03日
    浏览(133)
  • 本地搭建Oracle数据库结合内网穿透实现公网环境远程访问

    最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 Oracle,是甲骨文公司的一款关系数据库管理系统,它在数据库领域一直处于领先地位。可

    2024年02月01日
    浏览(48)
  • 【无公网IP内网穿透】异地远程访问本地SQL Server数据库

    目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿透的注册 3.本地网页发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4.公网访问测试 5.结语 数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,

    2024年02月10日
    浏览(47)
  • 异地远程访问本地SQL Server数据库【无公网IP内网穿透】

    转发自CSDN远程穿透的文章:无需公网IP,远程连接SQL Server数据库【内网穿透】 数据库的重要性相信大家都有所了解,作为各种数据的电子资料夹,其中可能包含了各种信息,从企业员工信息到网站访问或成交数据无所不包,甚至在某些场景下,数据库已经成为企业正常运行

    2023年04月15日
    浏览(55)
  • CentOS本地部署SQL Server数据库无公网ip环境实现远程访问

    GeoServer是OGC Web服务器规范的J2EE实现,利用GeoServer可以方便地发布地图数据,允许用户对要素数据进行更新、删除、插入操作,通过GeoServer可以比较容易地在用户之间迅速共享空间地理信息。另外,GeoServer是开源软件。 下面介绍GeoServer web ui 管理界面 结合cpolar 内网穿透工具实

    2024年01月25日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包