hive安装
1、安装hadoop并启动
2、安装hive
3、配置metastore(默认是derby,多用户操作时要改成mysql库)
metastore_db无权限,或在EmbeddedMetastore模式下启用多个客户端都会报
Errorinmetadata:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient
cphive-default.xml.template hive-default.xml以及hive-site.xml (hive-site.xml是个性化配置,优先级高于hive-default.xml)
配置hive-site.xml中的metastore配置:
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value> <description>JDBC connect string fora JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driverclassname fora 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>XXX</value> <description>password to use against metastore database</description> </property>
记的添加Mysql的jar包到hive的lib中,否则Errorinmetadata:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient
4、./hive就可以启动hive
5、hive thrift server
hive --service hiveserver -p10001来启动hive thrift服务(默认为10000端口)
nohup hive --service hiverserver -p10001可以在后台跑
6、排查问题时可以打开Hive的Debug日志,便于定位问题
./hive-hiveconfhive.root.logger=DEBUG,console
问题:
1、在cli中执行任何操作报异常(使用内置的derby)
FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.hive.metastore.api.MetaException javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception. NestedThrowables: java.sql.SQLSyntaxErrorException: In an ALTER TABLE statement, the column 'IS_STOREDASSUBDIRECTORIES' has been specified as NOT NULL and either the DEFAULT clause was not specified or was specified as DEFAULT NULL.) FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
原来是要到hive目录下(即有metastore_db文件夹所在的位置),然后再执行hive命令,就能正常查了
hive源码编译
1、启用debug监听(我采用的是0.11.0版本)
hive --debug (默认是port=8000)
自定义端口使用:hive --debug:port=4000
debug模式只有在0.10.0以上版本才可以用。debug启动后会等待客户端连接,客户端连接上后就进入cli命令行
2、hive源码编译及eclipse调试
下载hive源码(可通过svn或下载src包),通过ant clean package eclipse-files后,导入到eclipse中。
监听hive debug时的远程端口,就可以进入debug模式。
hive脚本运行流程
hive启动脚本:hive脚本中加载ext中各*.sh中的方法
hive servername server参数
如hive --debug --help:
流程中会判断$1=‘--debug’则$DEBUG=‘--debug’, 里面有
if($DEBUG 存在){
if $2 如--help,就会执行debug_help方法。
else 设置HIVE_MAIN_CLIENT_DEBUG_OPTS的参数中加入debug相应参数
}
hive脚本最后的$TORUN "$@" ,TORUN其实就是cli,即执行/ext/cli.sh脚本,该脚本中主要是调用/ext/util/execHiveCmd.sh 来执行最后的CliDriver。
即exec $HADOOP jar ${HIVE_LIB}/hive-cli-*.jar $CLASS $HIVE_OPTS "$@"
其中:
$HADOOP=/var/root/soft/hadoop-0.20.2/bin/hadoop (hadoop脚本路径)
$CLASS=org.apache.hadoop.hive.cli.CliDriver
hadoop脚本中最终会执行:
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
hive的debug参数就是在hive脚本时放到HADOOP_OPTS中的
遇到的问题:
为了便于调试,在本机安装了hadoop和hive,然后启动hive --debug,一直不能进入debug模式,看hive进程,jdwp的设置没在参数中。弄了半天发现HADOOP_OPTS在hadoop的hadoop-env.sh里被赋值了,即把hive的HADOOP_OPTS的覆盖了(当时在hadoop-env.sh里设置了参数,而没有保留之前的$HADOOP_OPTS)
相关推荐
hive安装依赖以及启动脚本 文件包含如下: 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_...
使用hive3.1.2和spark3.0.0配置hive on spark的时候,发现官方下载的hive3.1.2和spark3.0.0不兼容,hive3.1.2对应的版本是spark2.3.0,而spark3.0.0对应的hadoop版本是hadoop2.6或hadoop2.7。 所以,如果想要使用高...
HIVE安装及详解,及测试,该文档版本是1.2+的。。。。。
cloudera-hive-cdh6.3.2源码包
hive安装
Hive原理/Hive SQL/Hive 函数/数据仓库分层和建模/Hive sql优化/数据倾斜
内容包括hive如何安装与启动,以及如何使用python访问hive,希望对大家有帮助。
基于Hadoop Hive健身馆可视化分析平台项目源码+数据库文件.zip启动方式 环境启动 hadoop hive2元数据库 sql导入 导入hivesql脚本,修改application.yml 启动主程序 HadoopApplication 基于Hadoop Hive健身馆可视化...
hive服务的测试代码源码
基于springboot + Hadoop + Hive 的健身馆可视化分析平台源码+数据库 整合组件: HDFS MapReduce Hive Hadoop ###性别认为锻炼的重要性占比 饼图 ...
hive 源码分析
spring-boot集成mybatis+druid实现 hive/mysql多数据源切换,用mysql数据库作为用户验证库以及用户信息库,hive作为数据可视化源库。
cd /usr/local/soft/hive/conf ``` 2. 修改配置文件 ``` vim /etc/profile ##HIVE_HOME export HIVE_HOME=/usr/local/soft/hive export PATH=$PATH:$HIVE_HOME/bin source /etc/profile ``` 三、配置Hive的环境变量 ...
centos 下hive连接mysql驱动 ,mysql-connector-java-8.0.26-1.el7.noarch. 使用方法: 1.下载本rpm文件后,上传至你的服务器(虚拟机) 2. rpm -ivh mysql-connector-java-8.0.26-1.el7.noarch进行安装 3.安装完成...
大数据技术基础实验报告-Hive安装配置与应用
1 Hive 概念与连接使用: 2 2 Hive支持的数据类型: 2 2.1原子数据类型: 2 2.2复杂数据类型: 2 2.3 Hive类型转换: 3 3 Hive创建/删除数据库 3 3.1创建数据库: 3 3.2 删除数据库: 3 4 Hive 表相关语句 3 4.1 Hive ...
hive-jdbc最新的源码,用于impala数据库的jdbc连接
HDP3.1.5源码下载—hadoop hbase hive
基于hadoop,进行hive客户端安装与使用
Hive安装讲义(linux_hive windows_mysql) Hive是基于Hadoop的数据仓库工具,用于存储、查询和分析大规模数据。为了实现Hive的安装和配置,需要满足一定的前提条件和环境要求。下面是Hive安装讲义的详细步骤和相关...