本文介绍brew install hive并修改默认的metastore存储方案,改Derby数据库为mysql的方法以及可能遇到的问题的解决方案。

1. 通过homebrew安装hive

1
brew install hive

2. 添加hadoop和hive的环境变量

1
2
3
4
5
6
sudo vim ~/.bash_profile
export HADOOP_HOME=/usr/local/Cellar/hadoop/hadoop.version.no
export HIVE_HOME=/usr/local/Cellar/hive/hive.version.no/libexec
source ~/.bash_profile

3. 下载mysql connector

1
2
3
curl -L 'http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.22.tar.gz/from/http://mysql.he.net/' | tar xz
sudo cp mysql-connector-java-5.1.15/mysql-connector-java-5.1.22-bin.jar /usr/local/Cellar/hive/hive.version.no/libexec/lib/

4. 创建mysql metastore

1
2
3
4
mysql> CREATE DATABASE metastore;
mysql> USE metastore;
mysql> CREATE USER 'hiveuser'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE ON metastore.* TO 'hiveuser'@'localhost';

5. 配置hive的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
cd /usr/local/Cellar/hive/hive.version.no/libexec/conf
cp hive-default.xml.template hive-site.xml
#添加或者编辑如下内容
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost/metastore</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hiveuser</value>
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>password</value>
</property>
<property>
  <name>datanucleus.fixedDatastore</name>
  <value>false</value>
</property>

6. 测试hive是否工作

1
2
3
$ hive;
hive > show tables;
hive> create table temp_table temp_col string;

7. Revoke few permissions on the mysql metastore

1
2
$ mysql
mysql> REVOKE ALTER,CREATE ON metastore.* FROM 'hiveuser'@'localhost';

9. Further troubleshooting : 
(a) If you get a bin log error saying statement format is not support. Login to your mysql console as root

$ mysql -uroot
mysql > SET GLOBAL binlog_format = 'ROW';

(b) You could also try reading the logs as follows. Logs can be emitted to the bash prompt while running hive by setting hive.root.logger to INFO,console.

$ hive -hiveconf hive.root.logger=INFO,console

(c)You could also read the raw hive logs which is usually located at /tmp/user_name/hive.log

(d)If you still have any errors, feel free to comment.
在配置完成后,可能遇到的问题解决方案
一,Reference error
解决方案:
使用sequel pro, 修改hive用户的权限,添加Reference的global权限。
二,启动hive时遇到的" Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D "
解决方案:
修改hive-site.xml 配置中的以下key value即可:
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/${user.name}</value>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/${user.name}_resources</value>
<name>hive.scratch.dir.permission</name>
<value>733</value>
restart hive metastore and hiveserver2 

转载于:https://www.cnblogs.com/ToDoToTry/p/5349753.html

mac OSX 上 brew install hive相关推荐

  1. mac homebrew 卸载php,Mac_苹果mac电脑中brew的安装使用及卸载详细教程,brew 又叫Homebrew,是Mac OSX上的 - phpStudy...

    苹果mac电脑中brew的安装使用及卸载详细教程 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似 ...

  2. Mac 下使用brew install 报错: Error: Cowardly refusing to `sudo brew install'

    Mac 下使用brew install 报错: localhost:infer-osx-v0.6.0 admin$ sudo brew install opam Error: Cowardly ref ...

  3. macos - mac os-x 上的颜色选择器选择了错误的颜色

    我们的设计师给了我一个颜色值: RGB 217,114,62 在 mac 图像预览中,我打开颜色选择器,切换到 rgb 并输入 rgb 值.但是颜色预览好像太暗了.所以我拿起颜色选择器并在预览窗口中选 ...

  4. mac osx 上Eclipse/CDT问题及解决方案

    mac osx 中eclipse用一段时间,就会出现问题.对话框弹不完. 解决方案:进入workspace,进隐藏目录.metadata/.plugins,删除org.eclipse.ui.*等一系列 ...

  5. 苹果电脑java如何降级,如何在Mac OSX上降级JRE / JDK?

    Does anyone know how to downgrade the version for JRE/JDK from 1.6.0_24 to 1.6.0_18 on a Mac OSX thr ...

  6. Mac OSX上安装Python的方法

    使用Homebrew安装python 如果没有安装Homebrew,先安装Homebrew   /usr/bin/ruby -e "$(curl -fsSL https://raw.gith ...

  7. Mac OSX上卸载Anaconda

    由于学习python方便的原因下载了Anaconda,它提供了大量的Python工具包,但是出于某种原因需要卸载. 1.在Mac OS上,卸载的过程即是删除软件包的过程.找到Anaconda的安装路径 ...

  8. mac OSX上eclipse adb无法识别(调试)小米的解决方案

    最近在Mac上开发安卓,用小米2a作为开发机,连上电脑后发现idea和eclipse真机调试的时候都提示USB device not found.经过一番google和百度,终于找到了解决方案,在这里 ...

  9. MAC OSX 上创建网页快捷方式

    创建文件 文件名.webloc 用文本编辑文件,添加以下代码 <?xml version="1.0" encoding="UTF-8"?> < ...

  10. 卸载Mac OSX上面的ios模拟器

    模拟器文件在目录 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDK ...

最新文章

  1. 计算机里的dump是什么意思?(转储、转储文件)
  2. 简单分析Guava中RateLimiter中的令牌桶算法的实现
  3. Unity手机摇一摇
  4. 学习l1图做图像分析
  5. awx文件_如何在Minishift上运行AWX
  6. matlab中LMI工具箱函数feasp的用法
  7. 用 as with ,和 ROW_NUMBER() 做分页查询
  8. raid -- 分区-- 格式化 --挂载
  9. node-webkit笔记
  10. kendotabstrip 动态加tab_加你的好友这么多,为什么偏偏记不住我这名微商?
  11. c语言元素累积的计算,C语言:计算输出给定数组中每相邻两个元素的平均值的平方根之和。...
  12. Typora如何自动生成标题序号
  13. sql修改服务器标记,KB974006-SQL Server 查询优化程序修复程序模型4199服务模型
  14. 【系统架构】-什么是MDA架构、ADL、DSSA
  15. 宽带光纤接入网的概念和典型应用类型
  16. 群体智能与进化计算_群智能计算简介
  17. 教你年入100万,互联网赚钱三板斧!
  18. IPhoneX全屏适配
  19. rsync 服务方式连接
  20. Docker下运行两个ClickHouse容器后 ReplicatedMergeTree引擎借助Zookeeper将数据无法同步的解决方案,提示错误为“DNS_ERROR”

热门文章

  1. jQuery做的自定义选项卡
  2. 苹果的编程语言--Swift
  3. 公司项目NODEJS实践0.1[ ubuntu,nodejs,nginx...]
  4. XHML教会我的一些东西-5
  5. Linux内核--网络栈实现分析(一)--网络栈初始化
  6. [Android] View控件显示隐藏动画效果
  7. cmake使用介绍【转】
  8. [github高级控件] 带你走近 - CircleIndicator指示器原点动画切换
  9. CF1A Theatre Square
  10. Luogu4366[CodePlus#4] 最短路