天天看點

安裝Impala過程1. 環境2. 安裝3. 配置4. 啟動服務5. 使用shell

與hive類似,impala也可以直接與hdfs和hbase庫直接互動。隻不過hive和其它建立在mapreduce上的架構适合需要長時間運作的批處理任務。例如:那些批量提取,轉化,加載(etl)類型的job,而impala主要用于實時查詢。

centos 6.4 x86_64

cdh 5.0.1

jdk1.6.0_31

叢集規劃為3個節點,每個節點的ip、主機名和部署的元件配置設定如下:

目前,cdh 5.0.1中 impala 版本為<code>1.4.0</code>,下載下傳repo檔案到 /etc/yum.repos.d/:

然後,可以執行下面的指令安裝所有的 impala 元件。

但是,通常隻是在需要的節點上安裝對應的服務:

在 hive metastore 所在節點安裝impala-state-store和impala-catalog

在 datanode 所在節點安裝 impala-server 和 impala-shell

檢視安裝路徑:

impalad的配置檔案路徑由環境變量<code>impala_conf_dir</code>指定,預設為<code>/usr/lib/impala/conf</code>,impala 的預設配置在/etc/default/impala,修改該檔案中的<code>impala_catalog_service_host</code> 和 <code>impala_state_store_host</code>

設定 impala 可以使用的最大記憶體:在上面的 <code>impala_server_args</code> 參數值後面添加 <code>-mem_limit=70%</code> 即可。

如果需要設定 impala 中每一個隊列的最大請求數,需要在上面的 <code>impala_server_args</code> 參數值後面添加 <code>-default_pool_max_requests=-1</code> ,該參數設定每一個隊列的最大請求數,如果為-1,則表示不做限制。

在節點cdh1上拷貝<code>hive-site.xml</code>、<code>core-site.xml</code>、<code>hdfs-site.xml</code>至<code>/usr/lib/impala/conf</code>目錄并作下面修改在<code>hdfs-site.xml</code>檔案中添加如下内容:

同步以上檔案到其他節點。

在每個節點上建立/var/run/hadoop-hdfs:

拷貝postgres jdbc jar:

impala 安裝過程中會建立名為 impala 的使用者群組,不要删除該使用者群組。

如果想要 impala 和 yarn 和 llama 合作,需要把 impala 使用者加入 hdfs 組。

impala 在執行 drop table 操作時,需要把檔案移到到 hdfs 的資源回收筒,是以你需要建立一個 hdfs 的目錄 /user/impala,并将其設定為impala 使用者可寫。同樣的,impala 需要讀取 hive 資料倉庫下的資料,故需要把 impala 使用者加入 hive 組。

impala 不能以 root 使用者運作,因為 root 使用者不允許直接讀。

建立 impala 使用者家目錄并設定權限:

檢視 impala 使用者所屬的組:

由上可知,impala 使用者是屬于 imapal、hadoop、hdfs、hive 使用者組的

在 cdh1節點啟動:

如果impalad正常啟動,可以在<code>/tmp/ impalad.info</code>檢視。如果出現異常,可以檢視<code>/tmp/impalad.error</code>定位錯誤資訊。

使用<code>impala-shell</code>啟動impala shell,連接配接 cdh1,并重新整理中繼資料

當在 hive 中建立表之後,第一次啟動 impala-shell 時,請先執行 <code>invalidate metadata</code> 語句以便 impala 識别出新建立的表(在 impala 1.2 及以上版本,你隻需要在一個節點上運作 <code>invalidate metadata</code> ,而不是在所有的 impala 節點上運作)。

你也可以添加一些其他參數,檢視有哪些參數:

例如,你可以在連接配接時候字段重新整理:

使用 impala 導出資料: