- 本文主要介绍Hive 的远程安装模式(如果Hive客户端比较多,在每个客户端都安装MySQL服务还是会造成一定的冗余和浪费,这种情况下,就可以更进一步,将MySQL也独立出来,将元数据保存在远端独立的MySQL服务中)
- 版本介绍
- JDK:1.7.0_55
- Hadoop:2.6.0
- Hive:1.2.1
- 具体步骤
- 配置好一个外部的Mysql,并创建hive的database:
create database hive; - 配置好Hadoop的HDFS以及YARN,具体可以参考Centos 6.5 下hadoop2.5.2的HA集群原理讲解以及详细配置(自动切换)
- 解压缩下载的Hive包:tar -xvf apache-hive-1.2.1-bin.tar.gz
- 将Mysql的驱动拷贝到lib目录下
- 进入Hive的conf目录下创建hive-env.sh,hive-env.sh,hive-log4j.properties
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties - 编辑hive-env.sh的HADOOP_HOME环境变量
HADOOP_HOME=/opt/cloud/hadoop-2.6.0 - 编辑hive-log4j.properties,设置hive.log.dir属性
- 编辑hive-site.xml的内容如下
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>数据库用户名</value> <description>Username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>数据库密码</value> <description>password to use against metastore database</description> </property>#如果不配置下面的部分会产生错误1. <property> <name>hive.exec.local.scratchdir</name> <value>自定义目录</value> <description>Local scratch space for Hive jobs</description> </property> <property> <name>hive.downloaded.resources.dir</name> <value>自定义目录</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> <property> <name>hive.querylog.location</name> <value>自定义目录</value> <description>Location of Hive run time structured log file</description> </property> <property> <name>hive.server2.logging.operation.log.location</name> <value>自定义目录/operation_logs</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property>
- 配置好一个外部的Mysql,并创建hive的database:
- 验证
- 进入bin目录,执行hive命令,如果成功效果如下
- 创建表
如果创建成功,则从HDFS以及Mysql都可以看到表的相关信息
HDFS:
MySQL:
- 进入bin目录,执行hive命令,如果成功效果如下
- 问题总结
- 异常信息如下:
参考步骤3.8进行配置 - 异常信息如下
错误原因:
解决办法:Hive has upgraded to Jline2 but jline 0.94 exists inthe Hadoop lib.
删除hadoop-2.6.0/share/hadoop/yarn/lib/jline-0.9.94.jar文件 - 在使用hive创建表的时候,报一下异常
解决办法:
这是由于字符集的问题,需要配置MySQL
的字符集:mysql> alter database hive character set latin1;
- 异常信息如下:
Hive入门学习之二:Hive 的部署
最新推荐文章于 2022-04-10 09:50:24 发布