僞分佈式系列 - 第二篇 - hive-2.3.5環境搭建on hadoop3.2.0

基礎以來環境搭建

Mysql搭建

  • 默認情況下, Hive的元數據保存在了內嵌的 derby 數據庫裏, 生產環境使用 MySQL 來存放 Hive 元數據,靠譜.
  • 參考:https://www.cnblogs.com/luohanguo/p/9045391.html
  • mysql登錄:mysql -uroot -p
  • mysql開通權限
    • 指定某臺機器權限:grant all privileges on . to [email protected] identified by ‘root’ with grant option;
    • 指定所有機器權限:grant all privileges on . to root@"%" identified by ‘root’ with grant option;

hive搭建

hive包下載

hive配置

配置hadoop和hive conf目錄
export HADOOP_HOME=${HADOOP_HOME}
export HIVE_CONF_DIR=${HIVE_HOME}/conf
  • 日誌設置
  • cp hive-log4j2.properties.template hive-log4j2.properties
  • vi hive-log4j2.properties
修改目錄
property.hive.log.dir = xxx/logs   自行設置目錄
  • cp hive-default.xml.template hive-site.xml
  • vim hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--Hive作業的HDFS根目錄位置 -->
<property>
    <name>hive.exec.scratchdir</name>
    <value>/user/root/tmp</value>
</property>
<!--Hive作業的HDFS根目錄創建寫權限 -->
<property>
    <name>hive.scratch.dir.permission</name>
    <value>733</value>
</property>
<!--hdfs上hive元數據存放位置 -->
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/root/warehouse</value>
</property>
<!--連接數據庫地址,名稱 ,默認hive自動創建數據庫 -->
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://localhost:3306/hivemeta?createDatabaseIfNotExist=true</value>
</property>
<!--連接數據庫驅動 -->
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<!--連接數據庫用戶名稱 -->
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>root</value>
</property>
<!--連接數據庫用戶密碼 -->
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>xxx</value>
</property>
<!--客戶端顯示當前查詢表的頭信息 -->
 <property>
  <name>hive.cli.print.header</name>
  <value>true</value>
</property>
<!--客戶端顯示當前數據庫名稱信息 -->
<property>
  <name>hive.cli.print.current.db</name>
  <value>true</value>
</property>
<property>
        <name>hive.default.fileformat</name>
        <value>Orc</value>
        <!-- <value>TextFile</value> -->
        <description>
          Expects one of [textfile, sequencefile, rcfile, orc].
          Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
        </description>
    </property>
    <!-- hive metastore配置 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://localhost:9083</value>
        <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
    </property>

</configuration>
                     
  • 如果使用不是mysql root賬戶,可做如下建庫操作
mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; 
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit;

hive測試

  • 配置hive home
# hive相關配置
export HIVE_HOME=/opt/bigdata/hive/default
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:.:$HIVE_HOME/lib
export HIVE_CONF_DIR=${HIVE_HOME}/conf
  • 刷新環境變量:source /etc/profile
  • 啓動metastore服務:
hive --service metastore &

後續還有spark安裝,盡請期待!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章