1.先决条件配置了hadoop、hive等
2.官网查看版本信息下载相应的安装包
http://archive.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.10/RPMS/x86_64/
3.安装一些依赖包:mysql-connector-java、bigtop-jscv、bigtop-utils、libevent、libevent-devel、redhat-lsb、python-setuptools、cyrus-sasl.x86_64、sentry等
4.依次执行rpm -ivh 上述包 --nodeps
NameNode---impala-2.7.0 impala-catalog impala-state-store impala-udf-devel
DataNode---impala-2.7.0 impala-shell impala-udf-devel impala-server
5.find / -name impala查看位置
/etc/default/impala
/etc/alternatives/impala
/etc/impala
/usr/lib/impala
/var/lib/alternatives/impala
/var/lib/impala
/var/run/impala
/var/log/impala
6.修改配置,hdfs.site.xml添加以下内容:
#mkdir -p /var/run/hadoop-hdfs
<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.client.file-block-storage-locations.timeout.millis</name>
<value>10000</value>
</property>
----------------单机合并在一起,多机,以下为DataNode要加上超时参数,以上为NameNode
<property>
<name>dfs.client.use.legacy.blockreader.local</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.data.dir.perm</name>
<value>750</value>
</property>
<property>
<name>dfs.block.local-path-access.user</name>
<value>root</value>
</property>
-----------------------------------------------------------------------------------------
7.修改hive-site.xml配置:
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.66.66:9083</value>
</property>
<property>
<name>hive.metastore.client.socket.timeout</name>
<value>3600</value>
</property>
8. 配置impala的参数,impala的配置文件在/etc/default/impala之中
IMPALA_CATALOG_SERVICE_HOST=192.168.66.66
IMPALA_STATE_STORE_HOST=192.168.66.66
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala
IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} "
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}
-mem_limit=60%"
ENABLE_CORE_DUMPS=false
LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib
MYSQL_CONNECTOR_JAR=/usr/app/tomcat8089/lib/mysql-connector-*.jar
IMPALA_BIN=/usr/lib/impala/sbin
IMPALA_HOME=/usr/lib/impala
HIVE_HOME=/usr/app/hive
HBASE_HOME=/usr/app/hbase
IMPALA_CONF_DIR=/etc/impala/conf
HADOOP_CONF_DIR=/usr/app/hadoop/etc/hadoop
HIVE_CONF_DIR=/usr/app/hive/conf
HADOOP_HOME=/usr/app/hadoop
HBASE_CONF_DIR=/usr/app/hbase/conf
9. 在/etc/default/bigtop-utils中设置JAVA_HOME
export JAVA_HOME=/usr/app/jdk1.8.0
export CLASSPATH=./:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$HIVE_HOME/bin:$PATH
10.
进入/etc/init.d目录 修改impala-catalog操作权限,将impala改成集群的用户名。
进入/etc/init.d目录修改impala-state-store操作权限,将impala改成集群的用户名。
进入/etc/init.d目录修改impala-server操作权限,将impala改成集群的用户名。
将hadoop安装目录下的hdfs-site.xml,core-site.xml拷贝到/etc/impala/conf目录下
将hive安装目录下的hive-site.xml拷贝到/etc/impala/conf目录下
将hbase安装目录下的hbase-site.xml拷贝到/etc/impala/conf目录下
运行软件提示:
error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
执行find / -name libssl.so*
/usr/lib64/libssl.so.1.0.1e
/usr/lib64/libssl.so.10
解决方法:
for 32bit
ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so.6
ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.6
for 64bit
ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6
ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6
11.根据实际情况安装的hadoop、hive、hbase调整lib库等文件
#删掉/usr/lib/impala/lib相关hadoop、hive、hbase lib jar文件,拷贝已经安装的hadoop/hive/hbase lib jar包,
包名要与删除前的一致。
12.启动
#启动hadoop
#启动hbase
#启动hive
#nohup hive --service metastore &
#nohup hive --service hiveserver2 &
/etc/init.d/impala-state-store start
/etc/init.d/impala-catalog start
/etc/init.d/impala-server start
13.验证
第一种方式:
ps -aux|grep impala-catalog
ps -aux|grep impala-state
ps -aux|grep impalad
第二种方式:
impala-shell(默认连接本机的server)
impala-shell -i 192.168.66.66 //连接指定ip的server impala-shell 如果是no connect状态 可以输入connect 192.168.66.66进行连接
第三种方式(webUI):
192.168.66.66:25000
192.168.66.66:25010
192.168.66.66:25020
6.其他
Impala Daemon(Impala 守护进程前端端口):21000 >> impala-shell, Beeswax, Cloudera ODBC 1.2 驱动 用于传递命令和接收结果
Impala Daemon(Impala 守护进程前端端口):21050 >> 被使用 JDBC 或 Cloudera ODBC 2.0 及以上驱动的诸如 BI 工具之类的应用用来传递命令和接收结果
Impala Daemon(Impala 守护进程后端端口):22000 >> Impala 守护进程用该端口互相通讯
Impala Daemon(StateStore订阅服务端口):23000 >> Impala 守护进程监听该端口接收来源于 state store 的更新
StateStore Daemon(StateStore 服务端口):24000 >> State store 监听该端口的 registration/unregistration 请求
Catalog Daemon(StateStore 服务端口):26000 >> 目录服务使用该端口与Imp
Impala Daemon(HTTP 服务器端口):25000 >> Impala web 接口,管理员用于监控和故障排除
StateStore Daemon(HTTP 服务器端口):25010 >> StateStore web 接口,管理员用于监控和故障排除
Catalog Daemon(HTTP 服务器端口):25020 >> 目录服务 web 接口,管理员用于监控和故障排除,Impala 1.2 开始使用