安裝hive
前提條件:安裝過mysql,hadoop
- 使用brew直接安裝
brew install hive
- 配置系統環境變量
vi ~/.bash_profile 後添加hive環境變量
export HIVE_HOME=/usr/local/Cellar/hive/3.1.2/libexec
export PATH=$PATH:${HIVE_HOME}/bin
source ~/.bash_profile 使變量生效
- 在mysql中爲hive建表
進入mysql命令行
mysql> create database hive;
mysql> create user 'hive'@'localhost' identified by '123456';
mysql> grant select,insert,update,delete,alter,create,index,references on hive.* to 'hive'@'localhost';
mysql> flush privileges;
- 修改hive配置文件
進入hive安裝目錄
cd /usr/local/Cellar/hive/3.1.2/libexec/conf
從默認配置創建hive-site.xml文件
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
修改hive-site.xml
搜索到下面四個屬性並修改
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>mysql
<value>jdbc:mysql://localhost:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
修改和自己mysql版本對應的jave-connecter,本機用的8.0
curl -L 'http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.11.tar.gz/from/http://mysql.he.net/' | tar xz
找到jar文件,複製到hive的lib目錄中
cp mysql-connector-java-8.0.11.jar /usr/local/Cellar/hive/3.1.2/libexec/lib
- 啓動hive
初始化mysql庫,執行:
schematool -dbType mysql -initSchema
如果報下述錯誤
ava.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
是因爲hadoop中guava.jar版本高,把hadoop中的jar複製給hive再執行
cd /usr/local/Cellar/hadoop/3.2.1/libexec/share/hadoop/common/lib
cp guava-27.0-jre.jar /usr/local/Cellar/hive/3.1.2/libexec/lib
cd /usr/local/Cellar/hive/3.1.2/libexec/lib
rm rm guava-19.0.jar
參考文章
https://www.jianshu.com/p/af8a50f5a653