hadoop CDH4.4 Impalaクラスタへのインストール


hadoop-001     10.168.204.55  state-store, catalog, impalad
hadoop-002     10.168.204.56  
impalad
hadoop-003     10.168.204.57  
impalad
hadoop-004     10.168.204.58  
impalad
バージョン:impala 1.2.1

一、impalaのインストール


各ノードで操作
依存パッケージbigtop-utilsを先にインストール
wget -O /etc/yum.repos.d/bigtop.repo http://www.apache.org/dist/bigtop/bigtop-0.6.0/repos/centos6/bigtop.repo
sudo yum intall bigtop-utils
impalaのパッケージを再インストール
rpm -ivh impala-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-server-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-debuginfo-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-state-store-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-shell-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-udf-devel-1.2.1-1.p0.1346.el6.x86_64.rpm 
rpm -ivh impala-catalog-1.2.1-1.p0.1346.el6.x86_64.rpm
すべてのパッケージは次のとおりです.http://archive.cloudera.com/impala/redhat/6/x86_64/impala/1.2.1/RPMS/x86_64/

二、配置


   1. hadoop構成


hdfs-site.xml構成の追加

    dfs.client.read.shortcircuit
    true


    dfs.domain.socket.path
    /var/run/hadoop-hdfs/dn._PORT


    dfs.client.file-block-storage-locations.timeout
    3000


  dfs.datanode.hdfs-blocks-metadata.enabled
  true
 

構成内のパスに対して、書き込み可能な権限を設定します.
sudo mkdir -p /var/run/hadoop-hdfs
sudo usermod -a -G root hadoop
sudo chmod g+w /var/run/hadoop-hdfs
sudo chmod 775 /var/run/hadoop-hdfs

hadoopを再起動すると、エラーが発生します.
java.lang.RuntimeException: Although a UNIX domain socket path is configured as /var/run/hadoop-hdfs/dn._PORT, we cannot start a localDataXceiverServer because libhadoop cannot be loaded.

少なくなったso,これは/user/lib/impala/libにあり,copyはhadoop/lib/nativeに,その後.bashrcでexport CLASSSPATH、前のhadoopインストールで環境変数が設定されています.
または直接cpから/usr/java/jdk 1に至る.7.0_45/jre/lib/amd 64/、結果は同じです.

2.impala構成


hadoopのcore-site.xml  hdfs-site.xmlとhiveのhive-site.xmlは/etc/impala/conf/下にコピーされます.impalaはhiveのmetastoreを使用し、hiveのデータベースにアクセスするには、state-storeとcatalogが10.168.204.55でhiveが構成されているため、許可が必要です.サーバが異なる場合は、mysqlのライセンス構成を追加する必要があります.
/etc/sudoersを変更し、impalaユーザーをsudoerユーザーに設定します.プロセスはimpalaユーザーで開始されるため、権限の問題を避けるために、これはもちろん安全ではありませんが、テスト環境はどうでもいいです.セキュリティの問題を考慮するには、設定します.
auth-policy.ini、詳細は以下を参照してください.http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_security.html
 

三、起動


hadoop-001でstate-store,catalog,impalaプロセスを開始します.他のサーバはimpalaプロセスのみを起動します.
sudo service impala-state-store start
sudo service impala-catalog start
sudo service impala-server strart
/var/log/impalaのログを表示します.catalogにエラーがあります.
java.lang.NoClassDefFoundError: org/datanucleus/NucleusContext

これは、impalaとhive用のdatanucleusパッケージのバージョンが一致しないため、/usr/lib/impala/libとhive/libディレクトリを表示し、hive用の
-rw-rw-r-- 1 hadoop hadoop  337012 Apr  5  2013 datanucleus-api-jdo-3.2.1.jar
-rw-rw-r-- 1 hadoop hadoop 1801810 Apr  5  2013 datanucleus-core-3.2.2.jar
-rw-rw-r-- 1 hadoop hadoop 1769726 Apr  5  2013 datanucleus-rdbms-3.2.1.jar
でimpalaは
-rw-r--r-- 1 root root  337012 Nov 22 15:47 datanucleus-api-jdo-3.2.1.jar
-rw-r--r-- 1 root root   16880 Nov 22 15:47 datanucleus-connectionpool-2.0.3.jar
-rw-r--r-- 1 root root 2002412 Nov 22 15:47 datanucleus-core-2.0.3.jar
-rw-r--r-- 1 root root  188159 Nov 22 15:47 datanucleus-enhancer-2.0.3.jar
-rw-r--r-- 1 root root 1225113 Nov 22 15:47 datanucleus-rdbms-2.0.3.jar

hiveのcoreとrdbmsパッケージcopyを過ぎて、/usr/bin/catalogdを修正します.hardcodeなので、この2つのファイルを見つけて、対応するバージョン番号に変更します.
もう一つの問題はimpalaのcatalogdもmysql driverを使用しますが、/usr/bin/catalogdはこのように書かれています.
export MYSQL_CONNECTOR_JAR=${MYSQL_CONNECTOR_JAR:-/usr/share/java/mysql-connector-java.jar}
サボるためにhiveのmysql driverをこのパスにコピーし、名前を変更します.
ここまで、impalaの構成が完了し、確かに注意すべき点があります.
Impala-shellはコマンドラインモードに入り、show tablesちょっと、hiveカタツムリのようなスピードと比べると、一瞬爽やかになったのではないでしょうか.
ページでは、クラスタの動作状態を表示します.
微博:http://weibo.com/kingjames3