Hive的安裝

我們使用mysql來存儲hive的元數(shù)據(jù)(metadata)乔询,這里關(guān)于元數(shù)據(jù)以及元數(shù)據(jù)的存儲方式摘錄了這篇文章里的部分內(nèi)容
Hive安裝配置指北(含Hive Metastore詳解)

1.1 Metadata白粉、Metastore作用
metadata即元數(shù)據(jù)澈圈。元數(shù)據(jù)包含用Hive創(chuàng)建的database臭脓、table等的元信息。
元數(shù)據(jù)存儲在關(guān)系型數(shù)據(jù)庫中。如Derby、MySQL等盹兢。
Metastore的作用是:客戶端連接metastore服務(wù),metastore再去連接MySQL數(shù)據(jù)庫來存取元數(shù)據(jù)守伸。有了metastore服務(wù)绎秒,就可以有多個客戶端同時連接,而且這些客戶端不需要知道MySQL數(shù)據(jù)庫的用戶名和密碼尼摹,只需要連接metastore 服務(wù)即可见芹。

1.2 三種配置方式區(qū)別
內(nèi)嵌模式使用的是內(nèi)嵌的Derby數(shù)據(jù)庫來存儲元數(shù)據(jù)剂娄,也不需要額外起Metastore服務(wù)寸谜。這個是默認的畅形,配置簡單,但是一次只能一個客戶端連接鸟悴,適用于用來實驗徘铝,不適用于生產(chǎn)環(huán)境耳胎。
本地元存儲和遠程元存儲都采用外部數(shù)據(jù)庫來存儲元數(shù)據(jù),目前支持的數(shù)據(jù)庫有:MySQL惕它、Postgres怕午、Oracle、MS SQL Server.在這里我們使用MySQL淹魄。
本地元存儲和遠程元存儲的區(qū)別是:本地元存儲不需要單獨起metastore服務(wù)郁惜,用的是跟hive在同一個進程里的metastore服務(wù)。遠程元存儲需要單獨起metastore服務(wù)揭北,然后每個客戶端都在配置文件里配置連接到該metastore服務(wù)扳炬。遠程元存儲的metastore服務(wù)和hive運行在不同的進程里。
在生產(chǎn)環(huán)境中搔体,建議用遠程元存儲來配置Hive Metastore恨樟。

下面是安裝過程:
復制、解壓疚俱、改名

sudo cp apache-hive-1.1.0-bin.tar.gz /usr/local
cd /usr/local
sudo tar zxvf ./apache-hive-1.1.0-bin.tar.gz
sudo mv apache-hive-1.1.0-bin hive

修改環(huán)境變量
sudo nano /etc/profile
在下面加上兩行:

export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$HIVE_HOME/conf:$PATH

進入MySQL
mysql –u root –p
創(chuàng)建用戶hive劝术,密碼hive

GRANT USAGE ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION;
create database hive;
grant all on hive.* to hive@'%'  identified by 'hive';
grant all on hive.* to hive@'localhost'  identified by 'hive';
flush privileges; 
exit;

驗證hive用戶

mysql -uhive -phive
show databases;

看到如下反饋信息,則說明創(chuàng)建成功

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hive               |
| test               |
+--------------------+
3 rows in set (0.00 sec)

退出mysql
Exit

修改hive-site.xml

sudo cp hive/conf/hive-default.xml.template hive/conf/hive-site.xml
sudo nano hive/conf/hive-site.xml

添加以下屬性

<property> 
   <name>javax.jdo.option.ConnectionURL </name> 
   <value>jdbc:mysql://master:3306/hive </value> 
</property> 

<property> 
   <name>javax.jdo.option.ConnectionDriverName </name> 
   <value>com.mysql.jdbc.Driver </value> 
</property>

<property> 
   <name>javax.jdo.option.ConnectionPassword </name> 
   <value>hive </value> 
</property> 

<property>
   <name>hive.hwi.listen.port </name> 
   <value>9999 </value> 
   <description>This is the port the Hive Web Interface will listen on </description> 
</property> 

<property> 
   <name>datanucleus.autoCreateSchema </name> 
   <value>true</value> 
</property> 

<property> 
   <name>datanucleus.fixedDatastore </name> 
   <value>false</value> 
</property> 

<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>hive</value>
   <description>Username to use against metastore database</description>
</property>

<property>
   <name>hive.exec.local.scratchdir</name>
   <value>/usr/local/hive/iotmp</value>
   <description>Local scratch space for Hive jobs</description>
</property>

<property>
   <name>hive.downloaded.resources.dir</name>
   <value>/usr/local/hive/iotmp</value>
   <description>Temporary local directory for added resources in the remote file system.</description>
</property>

<property>
   <name>hive.querylog.location</name>
   <value>/usr/local/hive/iotmp</value>
   <description>Location of Hive run time structured log file</description>
</property>

拷貝mysql-connector-java-5.1.43-bin.jar到hive的lib下面
mv /home/hadoop-sna/Downloads/mysql-connector-java-5.1.43-bin.jar /usr/local/hive/lib/

把jline-2.12.jar拷貝到hadoop相應(yīng)的目錄下呆奕,替代jline-0.9.94.jar养晋,否則啟動會報錯

cp /usr/local/hive/lib/jline-2.12.jar /usr/local/hadoop-2.6.5/share/hadoop/yarn/lib/
mv /usr/local/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar /usr/local/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar.bak

創(chuàng)建hive臨時文件夾
mkdir /usr/local/hive/iotmp

遇到的問題

  1. 運行hive,報錯:Unable to instantiate org.apache.hadoop.hive.
    嘗試修改了一下MySQL的日志格式:
    mysq -u  root -p
    mysql> set global binlog_format='ROW';
    
    我第一次安裝的時候改成這樣就可以了梁钾,但是在后續(xù)安裝sqoop的時候绳泉,這里改成"ROW"并不可以,當時出現(xiàn)了問題2姆泻。
  2. 當啟動Hive的時候報錯:
    Caused by: javax.jdo.JDOException: Couldnt obtain a new sequence (unique id) : Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
    NestedThrowables: java.sql.SQLException: Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.
    這個問題是由于hive的元數(shù)據(jù)存儲MySQL配置不當引起的零酪,可以這樣解決:
    mysql> set global binlog_format='MIXED';
  3. 再次啟動hive,然后會報錯java.lang.RuntimeException: java.io.IOException: 權(quán)限不夠
    sudo chown -R hadoop-sna hive
    sudo chgrp -R hadoop-sna hive
    
    改完權(quán)限后就能成功啟動了
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拇勃,一起剝皮案震驚了整個濱河市四苇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌方咆,老刑警劉巖月腋,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡榆骚,警方通過查閱死者的電腦和手機片拍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妓肢,“玉大人穆碎,你說我怎么就攤上這事≈翱遥” “怎么了?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵方面,是天一觀的道長放钦。 經(jīng)常有香客問我,道長恭金,這世上最難降的妖魔是什么操禀? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮横腿,結(jié)果婚禮上颓屑,老公的妹妹穿的比我還像新娘。我一直安慰自己耿焊,他們只是感情好揪惦,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罗侯,像睡著了一般器腋。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钩杰,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天纫塌,我揣著相機與錄音,去河邊找鬼讲弄。 笑死措左,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的避除。 我是一名探鬼主播怎披,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驹饺!你這毒婦竟也來了钳枕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤赏壹,失蹤者是張志新(化名)和其女友劉穎鱼炒,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝌借,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡昔瞧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年指蚁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片自晰。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡凝化,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酬荞,到底是詐尸還是另有隱情搓劫,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布混巧,位于F島的核電站枪向,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏咧党。R本人自食惡果不足惜秘蛔,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望傍衡。 院中可真熱鬧深员,春花似錦、人聲如沸蛙埂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽绣的。三九已至滔迈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間被辑,已是汗流浹背燎悍。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留盼理,地道東北人谈山。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像宏怔,于是被迫代替她去往敵國和親奏路。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容