国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Hive安裝 (hadoop2.6.2 hive 1.2.1)

2019-11-08 03:21:41
字體:
來源:轉載
供稿:網友
Hive安裝  (hadoop2.6.0  hive 1.2.1)官網地址:http://hive.apache.org/downloads.html三種模式內嵌模式:元數據保持在內嵌的derby模式,只允許一個會話連接本地獨立模式:在本地安裝MySQL,吧元數據放到mySql內遠程模式:元數據放置在遠程的Mysql數據庫1、內嵌模式:

(1)、修改/home/lin/Hadoop/apache-Hive-1.2.1-bin/bin/hive-config.sh

添加java環境變量:
export JAVA_HOME=/usr/soft/jdk1.7.0_79 export HADOOP_HOME=/home/lin/hadoop/hadoop-2.6.1export HIVE_HOME=/home/lin/hadoop/apache-hive-1.2.1-bin

(2)、編輯hive-site.xml (/home/lin/hadoop/apache-hive-1.2.1-bin/conf/hive-default.xml.template復制為hive-site.xml)

修改以下參數:

hive.metastore.warehouse.dir  hdfs 上的指定目錄

hive.exec.scratchdir  hdfs上的臨時文件目錄
<PRoperty>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
  </property>
<property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
  </property>
<property>
    <name>hive.server2.logging.Operation.log.location</name>
    <value>/tmp/hive/operation_logs</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
  </property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>

(3)、配置hive的log4j:  conf下   cp hive-log4j.properties.template  hive-log4j.properties

#log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounterlog4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

否則會有警告: WARN conf.HiveConf: HiveConf of name hive.metastore.local does not existWARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

(4)、啟動hive bin/hive

啟動時候遇到錯誤:[ERROR] Terminal initialization failed; falling back to unsupportedjava.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected        at jline.TerminalFactory.create(TerminalFactory.java:101)        at jline.TerminalFactory.get(TerminalFactory.java:158)        at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)        at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)        at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)        at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)        at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)        at java.lang.reflect.Method.invoke(Method.java:606)        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)發現是jline有問題,最后找到,原來hadoop里面的是jline0.0.94  hive里面的是jline2.12  把/home/lin/hadoop/apache-hive-1.2.1-bin/lib 里面的jline2.12替換了hadoop 中/home/lin/hadoop/hadoop-2.6.1/share/hadoop/yarn/lib的jline0.0.94 就可以成功了!


2、獨立模式在mysql中為hive建立賬號,并授予足夠的權限,例如hive賬號,授予all privileges用上述賬號登陸mysql,創建數據庫,比如名字叫hive,用于存放hive的元數據在本地安裝MySQL客戶端配置hive-site.xml,指出使用本地mysql數據庫,以及連接協議,賬號,口令等把mysql-connector-java.jar 復制到 hive的lib目錄下啟動hive能進入shell表示成功

(1)、安裝MySQL并啟動服務

聯網安裝:
sudo apt-get install cmake 
sudo apt-get install libncurses5-dev
1. sudo  apt-get install mysql-server2. sudo  apt-get isntall mysql-client3.  sudo apt-get install libmysqlclient-dev
查看是否安裝成功:   
sudo netstat -tap | grep mysql 
通過上述命令檢查之后,如果看到有mysql 的socket處于 listen 狀態則表示安裝成功。
登陸mysql數據庫        
mysql -u root -p 
創建數據庫:
1) 建庫:create database hivedb;  
2) 建用戶,賦權:grant all privileges on *.* to hivedb@"%" identified by "hivedb" with grant option;                           
3) 刪除數據庫:drop database hivedb;   
查看mysql版本
mysqladmin -u root -p version
查看數據庫: 
show databases;
查看當前字符集:
show variables like 'character%';
停止mysql:
 sudo service mysql stop 
啟動mysql:
 sudo service mysql start
**************************************************************
啟動mysql: 使用命令試試是否能連上mysql   
telnet 192.168.0.166 3306 
若拒絕連接 編輯
sudo vim /etc/mysql/my.cnf
注釋掉#bind-address           = 127.0.0.1即可
**************************************************************
離線安裝:
下載地址:http://dev.mysql.com/downloads/mysql/ 選擇相關版本。
離線安裝自行百度!

(2)、在內嵌模式下繼續配置hive

加上驅動和數據庫地址
<property>  <name>javax.jdo.option.ConnectionDriverName</name>  <value>com.mysql.jdbc.Driver</value>  <description>Driver class name for a JDBC metastore</description></property><property>  <name>javax.jdo.option.ConnectionURL</name>  <value>jdbc:mysql://192.168.0.166:3306/hive?createDatabaseIfNotExist=true</value>  <description>JDBC connect string for a JDBC metastore</description></property><property>  <name>javax.jdo.option.ConnectionUserName</name>  <value>hive</value>  <description>username to use against metastore database</description></property><property>  <name>javax.jdo.option.ConnectionPassWord</name>  <value>hive</value>  <description>password to use against metastore database</description></property>

(2)、拷貝數據驅動jar

 拷貝mysql-connector-java-5.1.24-bin 到 /home/lin/hadoop/apache-hive-1.2.1-bin/lib

(4)、進入hive

若是報錯:NestedThrowables:java.sql.SQLException: Unable to open a test connection to the given database. J                                                                                        DBC url = jdbc:mysql://192.168.0.166:3306/hivedb?createDatabaseIfNotExist=true,                                                                                         username = hivedb. Terminating connection pool (set lazyInit to true if you expe                                                                                        ct to start your database after your app). Original Exception: ------com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fai                                                                                        lureThe last packet sent successfully to the server was 0 milliseconds ago. The driv                                                                                        er has not received any packets from the server.        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct                                                                                        orAccessorImpl.java:57)      解決方法:
先使用命令試試是否能連上mysql   
telnet 192.168.0.166 3306
若拒絕連接 編輯
sudo vim /etc/mysql/my.cnf
注釋掉#bind-address           = 127.0.0.1重啟mysql即可即可

錯誤:

ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

解決辦法:

刪除數據庫中的空白賬戶(匿名賬戶),依次執行以下兩條指命,這一步是解決這個問題的核心步驟DELETE FROM `mysql`.`user` WHERE `user`='';FLUSH PRIVILEGES;

3、遠程模式在獨立模式的基礎上添加:<property>  <name>hive.metastore.local</name>  <value>true</value>  <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description></property>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺义区| 左权县| 清原| 营口市| 云龙县| 开化县| 双辽市| 灌南县| 海丰县| 佛山市| 南郑县| 镇雄县| 潼南县| 揭东县| 怀化市| 清苑县| 巍山| 南充市| 红安县| 宜兰县| 炉霍县| 偃师市| 嘉义市| 武夷山市| 景泰县| 汝州市| 青阳县| 大竹县| 获嘉县| 濮阳市| 赤水市| 金阳县| 滨海县| 额敏县| 唐海县| 东阳市| 泰顺县| 双城市| 磐石市| 介休市| 龙里县|