操作系統(tǒng)
linux only
Hive Metastore
Impala能夠交互操作hive中存儲的數(shù)據(jù),使用相同的基礎(chǔ)架構(gòu),來追蹤表,列等schema對象的元數(shù)據(jù),需求的前提如下,
- 安裝和配置MySQL 或者 PostgreSQL來作為metastore database。配置Hive metastore service,而不是直接訪問metastore database更好,原因在于Hive metastore service能夠交互不同級別的元數(shù)據(jù)接口訪問,可以避免直接訪問metastore database帶來的一些已知問題。
操作過程如下,
- 安裝mysql或者postgreSQL
- 將相應(yīng)的驅(qū)動包jar包放置目錄 /usr/share/java/中
- 使用正確的語句,創(chuàng)建metastore database
- 使用正確的語句,授權(quán)metastore database 給hive用戶
- 修改hive-site.xml文件,使其內(nèi)容對應(yīng)正確的metastore database,包括,url,name,password,然后,復(fù)制hive-site.xml到impala配置的目錄
- 可選的Hive
Java依賴
java jdk和java_home環(huán)境變量
網(wǎng)絡(luò)配置要求
為了性能,Impala會優(yōu)先使用本地數(shù)據(jù)完成任務(wù),因此,impala通過解析ip的hostname,來匹配impalad對應(yīng)的hostname和datanode對應(yīng)ip地址。為了能夠使用本地數(shù)據(jù),同一個機(jī)器上DataNode和Impalad需要使用一個IP Interface。對于single-homed的機(jī)器,這個是自動的,但是對于multi-homed機(jī)器而言,需保證Impalad的hostname解析到正確的ip interface才行。Impala在啟動的時候,會打印正確的hostname。
硬件需求
Impalad需要分配連續(xù)的內(nèi)存,因此,如果內(nèi)存過低,會成為瓶頸,
User Account要求
Impala使用impala用戶和impala組,不要刪除或者修改權(quán)限;Impala需要將刪除的數(shù)據(jù),移動HDFS的trashcan中,因此,你需要創(chuàng)建/usr/impala目錄,能夠被Impala用戶讀寫,
Impala不能使用root用戶執(zhí)行,