搭建cdh单机版版本的hive所遇到的问题总汇

今天按照网上教程搭建了下 cdh 单机版的 hive  将相关配置记录下来 以便以后方便翻阅

版本 hive-0.13.1-cdh5.3.6.tar.gz

 1. 直接解压 然后将 mysql驱动包 拷贝到 hive 的lib目录下

  

 2. 进入 conf 配置目录下   总共要修改3个文件  其中hive-site.xml 是直接在hive-default.xml.template 这个文件基础上改的

  注意别忘了修改文件名称hive-site.xml

3. 修改 hive-env.sh

4.修改hive-log4j.properties

5.修改hive-site.xml 

 1 <!--使用mysql作为Metadata-->
 2     <property>
 3       <name>javax.jdo.option.ConnectionURL</name>
 4       <value>jdbc:mysql://172.16.71.27:3306/hive?createDatabaseIfNotExist=true</value>
 5     </property>
 6     
 7     <property>
 8       <name>javax.jdo.option.ConnectionDriverName</name>
 9       <value>com.mysql.jdbc.Driver</value>
10     </property>
11     
12     <property>
13       <name>javax.jdo.option.ConnectionUserName</name>
14       <value>root</value>
15     </property>
16 
17     <property>
18       <name>javax.jdo.option.ConnectionPassword</name>
19       <value>root</value>
20     </property>
21     
22     <!--显示当前的数据的头-->
23     <property>
24       <name>hive.cli.print.header</name>
25       <value>true</value>
26     </property>
27     <!--显示当前的数据库-->
28     <property>
29       <name>hive.cli.print.current.db</name>
30       <value>true</value>
31     </property>
32     
33     <!--default创建文件夹-->
34     <property>
35         <name>hive.metastore.warehouse.dir</name>
36         <value>/user/hive/warehouse</value>
37     </property>
38     
39     <!--fetchTask优化 默认是minimal-->
40     <property>
41       <name>hive.fetch.task.conversion</name>
42       <value>minimal</value>
43       <description>
44         1. minimal : SELECT STAR, FILTER on partition columns, LIMIT only
45         2. more    : SELECT, FILTER, LIMIT only (TABLESAMPLE, virtual columns)
46       </description>
47     </property>

6.登入27机器上的mysql 对ip授权

这是对120这台机器赋全部权限

GRANT ALL ON *.* TO 'root'@'172.16.71.120' IDENTIFIED BY 'root';

 7.然后在mysql上创建 hive数据库 

8.修改数据库的 字符集ALTER DATABASE hive CHARACTER SET latin1

9.然后启动hive

 10.创建一个表 测试一下

create table liveyc(id int, name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';

 

PS 这里注意一下 如果 不按照 7 8 步操作的话  这里删除表的时候 是删除不成功的 在直接 删除语句的时候 程序会卡主

 如果不设置mysql字符集的话 在创建表的时候也会报错

 

 先总结这些 以后遇到问题了再来补充

原文地址:https://www.cnblogs.com/xuyou551/p/7991719.html