1. 程式人生 > >Impala配置與錯誤解決方案

Impala配置與錯誤解決方案

安裝環境

版本 2.1.0 對應CDH5.3.0
       impala是CDH的元件,hadoop其他環境(hdfs、yarn、hive)已經準備的情況下,直接通過yum進行安裝,這裡提供下載地址impala下載

安裝內容:
安裝的使用者為:root
       hdname (hive 元資料節點所在)
               impala impala-server impala-state-store impala-catalog impala-shell
       其他節點
       impala-server impala-shell

許可權配置(所有機器都應當進行)

   impala 安裝過程中會建立名為 impala 的使用者和組,不要刪除該使用者和組。
如果想要 impala 和 YARN 合作,需要把 impala 使用者加入 hdfs 組,相關的可以瞭解的是Llama專案。
  impala 在執行 DROP TABLE 操作時,需要把檔案移到到 hdfs 的回收站,所以你需要建立一個 hdfs 的目錄 /user/impala,並將其設定為impala 使用者可寫。同樣的,impala 需要讀取 hive 資料倉庫下的資料,故需要把 impala 使用者加入 hive 組。

新增附屬組命令

    usermod -G hive,hdfs,hadoop impala

結果如圖
這裡寫圖片描述

建立impala在hdfs上的目錄並設定許可權

sudo -u hdfs hadoop fs -mkdir /user/impala
sudo -u hdfs hadoop fs -chown impala /user/impala

設定scoket path

在每個節點上建立/var/run/hadoop-hdfs
kdir -p /var/run/hadoop-hdfs
  注意:該資料夾可能已經存在,應當確認用impala是否有許可權進行讀寫
  如果已經存在,將使用者impala加入該檔案所屬的組,並修改該檔案組的許可權即:chmod 775 /var/run/hadoop-hdfs

mysql驅動

驅動下載地址mysql-connector-java-5.1.30.tar.gz
將下載的檔案複製到/usr/share/java/並修改名為mysql-connector-java.jar
選擇這個檔案路徑是因為impala的預設路徑是這個,可以檢視/etc/default/impala中的引數MYSQL_CONNECTOR_JAR

#配置檔案設定
配置檔案存在兩個地方
##/etc/default/impala
該檔案為impala的預設配置,包含了機器資訊和相關路徑配置,包括JDBC、impala的所有配置檔案,這裡需要修改的是metastore和catalog兩個服務安裝所在的主機資訊,最終結果如下,高亮部分為修改地方,其中hdname為impala的catalog和state-store元件安裝所在機器的host名,也即元資料mysql所在機器

==IMPALA_CATALOG_SERVICE_HOST=hdname==
==IMPALA_STATE_STORE_HOST=hdname==
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala

IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} ==-state_store_host=${IMPALA_STATE_STORE_HOST}== "
IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}"
IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}"

ENABLE_CORE_DUMPS=true

# LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib
# MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
# IMPALA_BIN=/usr/lib/impala/sbin
# IMPALA_HOME=/usr/lib/impala
# HIVE_HOME=/usr/lib/hive
# HBASE_HOME=/usr/lib/hbase
# IMPALA_CONF_DIR=/etc/impala/conf
# HADOOP_CONF_DIR=/etc/impala/conf
# HIVE_CONF_DIR=/etc/impala/conf
# HBASE_CONF_DIR=/etc/impala/conf

##/etc/impala/conf
  實際上這個檔案所在的位置是由/etc/default/impala中所決定的,有的版本可能是在/usr/lib/impala/conf下
  hive、hdfs、core三個核心配置檔案分別從hdfs和hive的配置檔案中複製過來,如果有hbase-site.xml,也一起復制過來
  結果如下:
這裡寫圖片描述
  修改檔案hdfs-site.xml,在檔案中增加下列內容

 <property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
</property>
<property>
    <name>dfs.domain.socket.path</name>
    <value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>
<property>
  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  <value>true</value>
</property>
<property>
  <name>dfs.client.file-block-storage-locations.timeout</name>  
  <value>10000</value>
</property>

配置檔案同步

  將impala檔案和conf資料夾同步到所有的impala-server節點

啟動impala

確認所有的服務已經啟動,包括hive、impala,檢視impala啟動服務可以使用命令

ps -ef |grep impala

如果正常的話,在hdname中有以下三個服務,如圖
這裡寫圖片描述
有可以通過url訪問也可以通過瀏覽器訪問相關的服務

            主機名:25010  預設的元資料所在節點資訊,
            主機名:25000    server資訊,任何有裝server的節點都可以訪問
            主機名:25020  catalog資訊

在任意一節點使用命令impala-shell登入impala終端,連線到store中connect hdname;
  執行命令invalidate metadata更新元資料
  結果如圖
這裡寫圖片描述

錯誤解決參考

錯誤1

路徑許可權問題
Error connecting: TTransportException, Could not connect to master:21000
在日誌檔案/var/log/impala中檢視impalad.ERROR,錯誤如下

ERROR: short-circuit local reads is disabled because
  - dfs.domain.socket.path is not configured.
  - dfs.client.read.shortcircuit is not enabled.

這裡寫圖片描述
解決方法
   找到對應引數的下的值,檢視該路徑是否存在,impala使用者是否有許可權進行讀寫

錯誤2

invalidate metadata 更新元資料出錯
錯誤程式碼

Query: invalidate metadata
ERROR: Couldn't open transport for hdname:26000 (connect() failed: Connection refused)

檢視日誌資訊,有如下錯誤,無法讀取datanode上的資料塊資訊

I0507 10:03:36.218281 21562 BlockStorageLocationUtil.java:177] Failed to query block locations on datanode 192.168.73.16:50020: org.apache.hadoop.ipc.RemoteException(java.lang.UnsupportedOperationException): Datanode#getHdfsBlocksMetadata  is not enabled in datanode config
        at org.apache.hadoop.hdfs.server.datanode.DataNode.getHdfsBlocksMetadata(DataNode.java:1547)

解決方法
注意:這裡使用的埠說是26000,事實上在整個配置過程中沒有任何的埠設定為26000,同時出現這種錯誤是在登入終端並且成功連線之後出現,也就是說這跟元資料相關
解決方法:
/etc/default/impala 中的配置項IMPALA_CATALOG_ARGS,需要增加引數 -state_store_host=${IMPALA_STATE_STORE_HOST}
結果如下
這裡寫圖片描述
該引數告訴了catalog去哪個host找元資料,事實上在state-store的配置中也有重新設定state_store_host引數
這裡寫圖片描述

相關推薦

Impala配置錯誤解決方案

安裝環境 版本 2.1.0 對應CDH5.3.0        impala是CDH的元件,hadoop其他環境(hdfs、yarn、hive)已經準備的情況下,直接通過yum進行安裝,這裡提供下載地址impala下載 安裝內容: 安裝的使用者為:ro

activemq安裝配置以及啟動錯誤解決方案

注:若是為了解決問題,可直接檢視第二部分。 1.安裝與啟動 在下載安裝前,請安裝好JDK並配置好環境變數。 ActiveMQ可到官網下載。點選進入官網 其中存在windows和Linux系統,如圖: 我的是windos,下載的windows下的壓縮包。 下載後解壓,如圖:

ueditor配置方案配置錯誤解決方案,"未找到上傳圖片","jar包衝突","NoSuchMethodError"

配置方案:1.連結:https://blog.csdn.net/gfd54gd5f46/article/details/60887313點選開啟連結2.連結:https://www.cnblogs.com/libo0125ok/p/8127049.html點選開啟連結問題及解

配置Hibernate中的常見錯誤解決方案

配置hibernate中的錯誤解決方案: 1.配置檔案格式 Exception in thread "main" org.hibernate.HibernateException: Error accessing stax stream at

高德地圖 key獲取Key錯誤解決方案

鑑於Android版SDK中出現的大量key驗證失敗問題,基本上都是在API控制檯申請AK的時候填寫的包名或者SHA1不正確導致的(包名或者SHA1的獲取詳見官方教程)。搜尋log,若出現"Authentication Error errorcode: 230 uid: -1 appid -1 msg: A

linux JDKTomcat安裝及錯誤解決方案

1.上傳jdk-6u17-linux-i586.bin和apache-tomcat-6.0.20.tar.gz到/usr 2.安裝JDK $chmod a+x jdk-6u17-linux-i586.bin $ ./jdk-6u17-linux-i586.bin $ vi

win7配置IIS(二)之常見錯誤解決方案

上一篇主要記錄瞭如何配置IIS,那麼這一篇就著重記錄下其中遇到的一些錯誤。 一、檢測到在整合的託管管道模式下不適用的ASP.NET設定(如圖一所示) 這個我們需要修改應用程式池下的預設程式池(DefaultAppPool),將託管管道模式設定為經典模式(Classic),

Dynamic Web Module 3.1 requires Java 1.7 or newer. 錯誤解決方案

pom.xml文件 artifact logs per group -s conf 你會 cti 在寫代碼的時候工程出現了這樣奇怪的bug很是蛋疼啊,經過查詢解決方法,終於解決了這些個問題。 下面是解決問題的方法,和大家分享一下 (1)確定你的java工程配置使用了java

SSH登陸阿裏雲服務器出現Permission denied (publickey)錯誤解決方案

ckey 是個 鑰匙串 col code gen fff font 重啟 操作環境: 操作系統:Mac10.11.5 阿裏雲服務器:Ubuntu16.04 遠程連接:SSH 註:首先我們已假設你已經自己生成了SSH秘鑰,並已經配置到阿裏雲、綁定了自己的雲服務器。 但是

Ubuntu 搭建svn服務器 ,以及常見錯誤解決方案

mkdir creat mod 服務 csdn 解決 details 守護 center 一、安裝命令: 1)以root身份登錄。執行:sudo su -命令 2)執行安裝命令:apt-get install subversion 二、創建項目目錄 1)mkdir /

JSP 插入到數據庫的數據出現 “SQLServerException: 將截斷字符串或二進制數據” 錯誤解決方案

表單 設置 文本 錯誤 測試 約束 數據 打開 但是 最近在編寫一個小型基於的jsp系統開發。掌握數據庫一直感覺還不錯。但是今天就出現了一個問題困擾我大半天。後來本來準備睡覺,但是覺得今天不解決這個問題恐怕晚上是“徹夜難眠啊”!!於是打開電腦,又開始搗騰。遇到問

2017年,企業移動化的需求變化創新解決方案

企業移動化 雲適配 馬鐸 企業移動化說了很多年,是一個經久不衰的話題。隨著時間推移,時代變遷,企業在移動化方面的需求也在不斷更新。智能終端設備的普及,推動互聯網真正走進萬物互聯的時代。相比PC時代,移動互聯網時代更加碎片化、場景化、設備化。在未來,企業進行數字化轉型或成發展趨勢。因為數據是提升企業

win7訪問局域網總提示用戶名密碼錯誤解決方案

網絡安全 本地安全策略 雙擊 本地 win7 rdquo 安全 搜索 解決 win7訪問局域網總提示用戶名密碼錯誤解決方案 1、點擊開始-在搜索欄輸入:secpol.msc(或者直接按下win+r鍵,輸入secpol.msc),打開本地安全策略。 2、找到“安

Spring整合Mybatis錯誤解決方案

pri ror org abs cto factor tran spring整合 原因 ERROR:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransactionF

app後臺的token、sessionId、RSA加密登錄認證安全解決方案

網絡 變量 登錄 href aes加密 3.1 red 秘密 des 一、登錄機制 粗略地分析, 登錄機制主要分為登錄驗證、登錄保持、登出三個部分。登錄驗證是指客戶端提供用戶名和密碼,向服務器提出登錄請求,服務器判斷客戶端是否可以登錄並向客戶端確認。 登錄認保持是指客戶端登

【ansible】Windows開啟遠程控制錯誤解決方案:無法檢查防火墻狀態

contain ret turn nbsp windows wall 解決方案 itl wrapper 這個在老版本的Windows系統才有這種bug。例如Windows 2008 R2和Windows 7,如果你的系統的阿裏雲的Windows server 2

關於webconsole報../website/console.go:35: undefined: ssh.InsecureIgnoreHostkey 錯誤解決方案

http lan 執行 spa 錯誤 api ole git 應該 1.首先,進入webconsole目錄刪除/opt/webconsole/src/golang.org/x/目錄下 crypto文件夾 2.然後,在/opt/webconsole/src/golang.or

webacula root登陸密碼錯誤解決方案

bacula webacula 登陸Mysql查看庫列表mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | bac

mysql開啟skip-name-resolve 導致[email protected](localhost)訪問引發的ERROR 1045 (28000)錯誤解決方案

its 遠程訪問 5.6 速度 base mat change http oracl 為什麽配置skip-name-resolve? 由於mysql -h${ip} 遠程訪問速度過慢, mysql -h172.16.66.171 -uroot -p123456 根據網