今天按照网上教程搭建了下 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 '\t';
PS 这里注意一下 如果 不按照 7 8 步操作的话 这里删除表的时候 是删除不成功的 在直接 删除语句的时候 程序会卡主
如果不设置mysql字符集的话 在创建表的时候也会报错
先总结这些 以后遇到问题了再来补充