Hive入门教程(二):Hive 的安装部署教程
上一篇文件我们了解了什么是 Hive,本文将带你安装和部署 Hive 体验一下这个传说中的数据仓库。
必备前提
根据上一篇的描述,Hive 是安装在 Hadoop 上面的,所以您需要先安装 Hadoop 并启动了 HDFS 和 Yarn,如果您还没有安装好 Hadoop,需要先安装好 Hadoop。
上一篇简介介绍了 Metastore,默认存储在自带的derby数据库中,我们使用MySQL存储 Metastore 元数据,所以还需要 MySQL 数据库,这里就不演示怎么安装了,请先安装好 MySQL 数据库。
Hive 的安装
下载Have并解压,我解压放到了 /opt/module/hive,然后开始修改配置文件:复制 conf/hive-env.sh.template 改名成 conf/hive-env.sh,编辑这个文件,指明 Hadoop 的文件路径和 Hive 的配置文件路径:
export HADOOP_HOME=/opt/module/hadoop-2.10.1
export HIVE_CONF_DIR==/opt/module/hive/conf
修改环境变量
修改 /etc/profile 文件,增加 Hive 的环境变量信息:
export JAVA_HOME=/opt/module/jdk1.8.0_281
export HADOOP_HOME=/opt/module/hadoop-2.10.1
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
然后执行 source /etc/profile 让环境变量生效,再执行 hive --version,看看是否执行成功。有hive的版本显现,安装成功!
Hive 元数据配置到 MySQL
我们使用 MySQL 存储 Metastore 数据,所以还需配置一下告诉 Hive MySQL 怎么连接。
驱动拷贝
想要连接 MySQL 驱动包不能少,根据你自己的 MySQL 下载驱动包,我这里是 mysql-connector-java-8.0.23.jar 复制到 /opt/module/hive/lib/ 里面。
配置Metastore到MySQL
在 hive/conf 目录下创建一个 hive-site.xml 文件,参考官方文档:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration 写入以下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://n1.renfei.net:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
初始化
我们还需要执行初始化 Schema 的动作,执行:hive/bin/schematool -dbType mysql -initSchema,等待完成就可以了,我们看到 MySQL 中多了一个 metastore 库,并且下面还新建了很多表:
启动 Hive
启动也是非常简单的,只需要执行:bin/hive 就可以了,然后我们就可以像使用 MySQL 一样使用 SQL 来查询数据了,例如:show databases; 或者退出 quit;
商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。微信订阅号
扫码关注「任霏博客」微信订阅号- 大佬 引入jar包那里的 driver class 怎么选的?
- 我也遇到了这个问题,已经解决了,在此分享一下 1、宿主机也要创建kingbase的用户和用户组,并且要查看一下用户和用户组的ID(这个很重要) 2、把data目录的用户和用户组设置为kingbase 3、先不要把data路径挂载到宿主机上,这时就可以正常启动,启动后进入容器,查看一下容器内的kingbase的用户和用户组ID是多少,和第一步的ID是否一致,如果ID一致,那正常挂载目录就行;如果ID不一致,那就需要修改Dockerfile文件,在构建镜像时,修改容器内的用户和用户组ID,必须和宿主机的保持一致。然后重新构建镜像,就可以正常挂载宿主机目录了 4、其实直接修改宿主机的用户和用户组ID也是可以的,但是容器内的ID一般是1000,但是宿主机的这个ID很可能已经被占用了,无法修改,就只能修改容器内的ID
- 接口已经允许跨域请求,也就是说你可以在你的页面上调用,获取用户的公网 IP。 如果你还需要其他需求,可以提交 Issue 给我。
- V008R003C002B0320 这个对应的jdbc链接驱动你在哪里找到的?我也遇到了这个问题。
- WARNING: max_connections should be less than orequal than 10 (restricted by license) HINT: the value of max_connect is set 10 WARNING: max_connections should be less than orequal than 10 (restricted by license) HINT: the value of max_connect is set 10 kingbase: superuser_reserved_connections must be less than max_connections 我按照文档修改了以后,不知道如何重启。
- 然后把数字都改成 1 再启动。 如何重新启动?
- ksql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.KINGBASE.54321"
- 进入容器查看一下日志,是不是启动失败了,日志文件在:/opt/kingbase/logfile
- ksql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/tmp/.s.KINGBASE.54321"?
- 先通过 docker exec -it 容器名/id /bin/bash 进入容器,然后在容器中使用 ksql 客户端进行连接数据库:/opt/kingbase/Server/bin/ksql -U system test
- 免费.ml域名10年委托合同到期被马里共和国收回域名经营权
- 从极狐Gitlab看各种中间件技术选型
- 时隔十年首次收到 Google AdSense 的付款
- ga域名被加蓬共和国从Freenom公司手中收回域名经营权
- Freenom 被 Meta(Facebook) 起诉导致暂停 .tk/.ga/.ml/.cf/.gq 等新域名注册
- 生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1]
- github.renfei.net 不再完整代理 Github 页面改为代理指定文件
- 优雅的源代码管理(三):本地优雅的使用 Git Rebase 变基
- 优雅的源代码管理(二):Git 的工作原理
- 优雅的源代码管理(一):版本控制系统 VCS(Version Control System)与软件配置管理 SCM(Software Configuration Management)