溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ubuntu中如何安裝hive1.1 + mysql

發(fā)布時間:2021-11-15 09:56:10 來源:億速云 閱讀:230 作者:小新 欄目:云計算

這篇文章主要介紹Ubuntu中如何安裝hive1.1 + mysql,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

一,下載

    1, apache-hive-1.1.0-bin.tar.gz下載

     下載地址:http://apache.dataguru.cn/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz

    2,mysql-connector-java-5.0.8.tar.gz下載

二,安裝

     1,mysql 安裝:

     sudo apt-get install mysql-server

      中間讓設(shè)root密碼,請認(rèn)真添寫,并勞記 

        啟動MySQL:
             創(chuàng)建hive連接的用戶,和hive存放元數(shù)據(jù)的數(shù)據(jù)庫,如下:
             mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' ;         
             Query OK, 0 rows affected (0.09 sec)
            mysql> create database hive default character set latin1;     //字符集必須是latian1,如果是utf8則很多     hive元數(shù)據(jù)表無法創(chuàng)建。
              Query OK, 1 row affected (0.01 sec)
 具體的啟動命令:
            啟動metastore:(遠(yuǎn)程mysql需要啟動)
           hive --service metastore -hiveconf hbase.zookeeper.quorum=db96,db98,db99 -hiveconf hbase.zookeeper.property.clientPort=2181 
啟動hiveservice:
            hive --service hiveserver -hiveconf hbase.zookeeper.quorum=db96,db98,db99 
 -hiveconf hbase.zookeeper.property.clientPort=2181 //(啟動服務(wù),這樣jdbc:hive就能連上,默認(rèn)10000端口,后面的部分一定要帶上,否則用eclipse連接不上的)   

     2,hive安裝:進入hive下載目錄解壓apache-hive-1.1.0-bin.tar.gz到/usr/local目錄

      sudo tar -zxvf apache-hive-1.1.0-bin.tar.gz -C /usr/local

      mv apche-hive-1.1.0-bin hive

      sudo chown -R hadoop:hadoop hive

 三,環(huán)境配置

     1,/etc/profile:

     exprot HIVE_HOME=/usr/local/hive

     export PATH=$HIVE_HOME/bin:$PATH    

     2,cp hive-default.xml.template hive-site.xml 并配置hive.site.xml

      <property>
               <name>hive.metastore.warehouse.dir</name>
               <value>hdfs://node0:9000/usr/hive/warehouse</value>
             (這里就與前面的hdfs dfs -mkdir -p /usr/hive/warehouse相對應(yīng))
       </property>
          其中node0指的是筆者的NameNode的hostname;
       <property>
              <name>hive.exec.scratchdir</name>
              <value>hdfs://node0:9000/usr/hive/warehouse</value>
       </property>
          //這個沒有變化與derby配置時相同
        <property>
              <name>hive.querylog.location</name>
              <value>/usr/hive/log</value>
         </property>
-------------------------------------
         <property>
               <name>javax.jdo.option.ConnectionURL</name>
               <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNoExist=true</value>
          </property>
          javax.jdo.option.ConnectionURL
         這個參數(shù)使用來設(shè)置元數(shù)據(jù)連接字串
-------------------------------------
         <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>

        javax.jdo.option.ConnectionDriverName
       關(guān)于在hive中用java來開發(fā)與mysql進行交互時,
       需要用到一個關(guān)于mysql的connector,
       這個可以將java語言描述的對database進行的操作,
       轉(zhuǎn)化為mysql可以理解的語句。
       connector是一個用java語言描述的jar文件。
       而這個connector可在官方網(wǎng)站上下載得到。
       經(jīng)證實即便connector與mysql的版本號不一致,
       也可以實現(xiàn)相應(yīng)的功能。
        connector是要copy到/usr/hive/lib目錄下面的。
       cp  mysql-connector-java-5.1.1.18-bin  /usr/hive/lib
-------------------------------------
        <property>
              <name>javax.jdo.option.ConnectorUserName</name>
              <value>hive</value>
        </property>
        這個javax.jdo.option.ConnectionUserName
        是用來設(shè)置hive存放的元數(shù)據(jù)的數(shù)據(jù)庫(這里是mysql數(shù)據(jù)庫)的用戶名稱的。
        而這個‘hive‘可以根據(jù)用戶自己的需要來自行設(shè)置
--------------------------------------
         <property>
               <name>javax.jdo.option.ConnectionPassword</name>
               <value>hive</value>
        </property>
        這個javax.jdo.option.ConnetionPassword是用來設(shè)置,
        用戶登錄數(shù)據(jù)庫的時候需要輸入的密碼的。
        而這個‘hive’同樣可以根據(jù)用戶自己的需要來進行設(shè)置。

        <property>
             <name>hive.aux.jars.path</name>
             <value>file:///usr/local/hive/lib/hive-hbase-handler-0.13.1.jar,file:///usr/local/hive/lib/protobuf-java-              2.5.0.jar,file:///usr/local/hive/lib/hbase-client-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/hbase-common-0.96.0-hadoop2.jar,file:///usr/local/hive/lib/zookeeper-3.4.5.jar,file:///usr/local/hive/lib/guava-11.0.2.jar</value>
         </property>
         <property>  
                <name>hive.metastore.uris</name>  
                <value>thrift://192.168.8.96:9083</value>  
          </property>  
</configuration>
     上面的配置中用到的jar包均在hbase/lib下,
      [root@db96 lib]# pwd    //發(fā)現(xiàn)hive的lib目錄下沒有該文件。去hbase的lib下找到下面4個文件拷貝
                        //到hive的lib目錄下。
/usr/local/hive/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar  guava-12.0.1.jar
ls: 無法訪問protobuf-java-2.5.0.jar: 沒有那個文件或目錄
ls: 無法訪問hbase-client-0.96.2-hadoop2.jar: 沒有那個文件或目錄
ls: 無法訪問hbase-common-0.96.2-hadoop2.jar: 沒有那個文件或目錄
ls: 無法訪問guava-12.0.1.jar: 沒有那個文件或目錄
[root@db96 lib]# pwd
/usr/local/hbase/lib
[root@db96 lib]# ll protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar  guava-12.0.1.jar
-rw-r--r-- 1 root root 1795932 12月 11 2013 guava-12.0.1.jar
-rw-r--r-- 1 root root  826678 3月  25 07:03 hbase-client-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root  371546 3月  25 07:03 hbase-common-0.96.2-hadoop2.jar
-rw-r--r-- 1 root root  533455 12月 11 2013 protobuf-java-2.5.0.jar
[root@db96 lib]# cp protobuf-java-2.5.0.jar hbase-client-0.96.2-hadoop2.jar hbase-common-0.96.2-hadoop2.jar  guava-12.0.1.jar /usr/local/hive/lib

    3,cp hive-log4j.properties.template  hive-log4j.proprties
       vi hive-log4j.properties
       hive.log.dir=
       這個是當(dāng)hive運行時,相應(yīng)的日志文檔存儲到什么地方
       (mine:hive.log.dir=/usr/hive/log/${user.name})
       hive.log.file=hive.log
       這個是hive日志文件的名字是什么
       默認(rèn)的就可以,只要您能認(rèn)出是日志就好,
       只有一個比較重要的需要修改一下,否則會報錯。
        log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
        如果沒有修改的話會出現(xiàn):
         WARNING: org.apache.hadoop.metrics.EventCounter is deprecated.
         please use org.apache.hadoop.log.metrics.EventCounter  in all the  log4j.properties files.
       (只要按照警告提示修改即可)。      

    4,最后在hive/lib目錄下會有一個jline-2.12.jar要拷備到 hadoop/share/hadoop/yarn/lib下替換掉jline-0.19.jar 

以上是“Ubuntu中如何安裝hive1.1 + mysql”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI