雷頓學院大數據
hive安裝
下載hive
http://mirror.bit.edu.cn/apache/hive/
下載後解壓
配置命令
將hive加入命令
vim ~/.bash_profile
添加如下命令
export HIVE_HOME=/usr/local/Cellar/hive/1.2.1/libexec
保存文件
mysql數據庫驅動
curl -L 'http://www.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.42.tar.gz/from/http://mysql.he.net/' | tar xz
複製驅動jar文件到 hive/libexec/lib
修改配置
進入hive解壓後的目錄,拷貝hive配置文件
cp hive-default.xml.template hive-site.xml
metasore存儲的三種方式
1. Derby
2. Local mysql
3. Remote mysql,生產環境選用
在配置中找到以下參數,修改value
<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>hive(填上述mysql中創建的用戶名)</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456(填上述mysql中創建的用戶密碼)</value>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/hive</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/tmp/hive</value>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/hive</value>
</property>
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/tmp/hive</value>
</property>
另外將 hive-site.xml中所有配置項包含 system:java.io.tmpdir,替換成hdfs上一個存在的地址
初始化metastore
schematool –initSchemal –dyType mysql
啓動hive
啓動hive metastore
hive --service metastore &
啓動hive,在命令行直接輸入 hive
hive
注意事項:
安裝hive的jdk需要使用jdk8及以下版本,
否則會報錯如下
java.lang.Integer (jdbc-type="", sql-type="") cant be mapped for this datastore. No mapping is available.
這個報錯是因爲java類型到sql映射出錯,jdk9對之前版本的某些jar或者之前jdk的某些用法不支持。
Exception in thread "main" java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoad
這是因爲jdk9的 將URLClassLoader 作爲系統的ClassLoaders的superclass導致,所以之前用到他兩轉化的都會出錯需要重寫代碼
學習大數據請加雷頓學院大數據技術交流QQ羣(掃碼加下方qq羣),大牛實時互動,或者加我微信&qq: 314312298