日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hive安装超详细教程

發布時間:2023/12/9 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive安装超详细教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hive3.1.2安裝教程

  • 前言
  • 初始準備
  • 安裝Hive的具體步驟
    • 1、下載hive安裝包
    • 2、解壓
    • 3、添加Hive核心配置,選擇遠程MySQL模式
    • 4、下載連接MySQL的驅動包到hive的lib目錄下
    • 5、在MySQL上創建Hive的元數據存儲庫
    • 6、執行Hive的初始化工作
    • 7、驗證初始化是否成功
    • 8、使用hive
    • 9、使用beeline

前言

在上篇《Spark集群搭建超詳細教程》提到了Hive安裝,那么今天就帶領大家進行Hive的安裝,閑言少敘,擼起袖子加油干!

初始準備

還是需要準備3臺虛擬機,并且還需要做如下準備工作:

  • 需要安裝好java 運行環境 JDK
  • 需要搭建配置好Hadoop集群并啟動,如果有不熟悉Hadoop集群搭建的朋友,可以參考我的另一篇文章《Hadoop集群搭建配置教程》
  • 在hadoop1這個虛擬機節點上安裝MySQL服務,可以參考《Ubuntu18.04 MySQL5.7 安裝步驟詳解》
  • 安裝Hive的具體步驟

    1、下載hive安裝包

    cd /opt/module # 下載hive安裝包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

    2、解壓

    tar -zxvf apache-hive-3.1.2-bin.tar.gz mv apache-hive-3.1.2-bin hive

    3、添加Hive核心配置,選擇遠程MySQL模式

    cd /opt/module/hive/conf vim hive-site.xml

    添加如下內容:

    <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop1:3306/hivedb?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;serverTimezone=GMT</value> </property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value> </property><!-- 修改為你自己的Mysql賬號 --> <property><name>javax.jdo.option.ConnectionUserName</name><value>root</value> </property><!-- 修改為你自己的Mysql密碼 --> <property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value> </property><!-- 忽略HIVE 元數據庫版本的校驗,如果非要校驗就得進入MYSQL升級版本 --> <property><name>hive.metastore.schema.verification</name><value>false</value> </property><property> <name>hive.cli.print.current.db</name><value>true</value> </property><property> <name>hive.cli.print.header</name><value>true</value> </property><!-- hiveserver2 --> <property><name>hive.server2.thrift.port</name><value>10000</value> </property><property><name>hive.server2.thrift.bind.host</name><value>hadoop1</value> </property>

    4、下載連接MySQL的驅動包到hive的lib目錄下

    cd /opt/module # 下載MySQL驅動包 wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar

    5、在MySQL上創建Hive的元數據存儲庫

    create database hivedb;

    6、執行Hive的初始化工作

    cd /opt/module/hive/bin ./schematool -initSchema -dbType mysql

    7、驗證初始化是否成功

    初始化完成后,在MySQL的hivedb數據庫中查看是否初始化成功:

    # 若展示多個數據表,即代表初始化成功 show tables;

    8、使用hive

    # 啟動hive cd /opt/module/hive/bin ./hive # 啟動后 # 建表 create table student(id int, name string); # 插入數據 insert into table student(1, 'abc'); # 插入成功后,查詢 select * from student;

    9、使用beeline

    首先啟動hiveserver2服務:

    nohup ./bin/hiveserver2>> hiveserver2.log 2>&1 &

    hiveserver2服務啟動后,使用beeline客戶端訪問hiveserver2服務:

    cd /opt/module/hive # 進入beeline客戶端 bin/beeline # 執行連接hiveserver2操作 beeline> !connect jdbc:hive2://hadoop1:10000/default# 或者 bin/beeline -u jdbc:hive2://hadoop1:10000/default -n root

    注意:hive的默認引擎為MR!!!

    至此,我們就完成了Hive的安裝。

    安裝過程中,我們可能會遇到以下問題:

    • 問題 1
      com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
      錯誤原因:系統找不到這個類所在的jar包或者jar包的版本不一樣系統不知道使用哪個。hive啟動報錯的原因是后者。
      解決辦法
      1)com.google.common.base.Preconditions.checkArgument這個類所在的jar包為:guava.jar
      2)hadoop-3.1.3(路徑:hadoop/share/hadoop/common/lib)中該jar包為 guava-27.0-jre.jar;而hive-3.1.2(路徑:hive/lib)中該jar包為guava-19.0.jar
      3)將jar包變成一致的版本:刪除hive中低版本jar包,將hadoop中高版本的復制到hive的lib中。
      再次啟動問題得到解決!

    • 問題2:
      Error: Could not open client transport with JDBC Uri: jdbc:hive2://hadoop1:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous (state=08S01,code=0)

      解決辦法:
      1)修改hadoop 配置文件 /opt/module/hadoop/etc/hadoop/core-site.xml
      添加如下內容:

      <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>

      然后將core-site.xml 分發到集群的其他節點。

      2)重啟hadoop集群

    • 問題3:用beeline操作hive時,如何關閉打印的info日志信息?
      解決辦法:
      1)在使用beeline時加入以下設置即可--hiveconf hive.server2.logging.operation.level=NONE

      2)在hive-site.xml中修改如下配置也可以禁用在beeline中顯示額外信息

      <property><name>hive.server2.logging.operation.level</name><value>NONE</value><description>Expects one of [none, execution, performance, verbose].HS2 operation logging mode available to clients to be set at session level.For this to work, hive.server2.logging.operation.enabled should be set to true.NONE: Ignore any loggingEXECUTION: Log completion of tasksPERFORMANCE: Execution + Performance logs VERBOSE: All logs</description> </property>

    微信公眾號:掃描下方二維碼 或 搜索 笑看風云路 關注

    總結

    以上是生活随笔為你收集整理的Hive安装超详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。