4.1.2.3.2-Impala-安装

优质
小牛编辑
129浏览
2023-12-01

集群规划为3个节点,每个节点的ip、主机名和部署的组件分配如下:

ip主机名组件
192.168.117.51Goblin_01NameNode、Hive、ResourceManager、impala
192.168.117.52Goblin_02DataNode、SSNameNode、NodeManager、impala
192.168.117.53Goblin_03DataNode、NodeManager、impala
192.168.117.54Goblin_04DataNode、NodeManager、impala

2. 安装

(1)在 hive metastore(51) 所在节点安装impala-state-store和impala-catalog
yum install impala impala-catalog impala-state-store -y
(2)在 DataNode(52-54) 所在节点安装 impala-server 和 impala-shell
yum install impala impala-shell impala-server –y

3. 配置

3.1 查看安装路径:

find / -name impala
/var/run/impala
/var/lib/alternatives/impala
/var/log/impala
/usr/lib/impala
/etc/alternatives/impala
/etc/default/impala
/etc/impala
/etc/default/impala

impalad的配置文件路径由环境变量IMPALA_CONF_DIR指定,默认为/usr/lib/impala/conf,impala 的默认配置在/etc/default/impala,修改impala文件中的IMPALA_CATALOG_SERVICE_HOST 和 IMPALA_STATE_STORE_HOST

# cd /etc/default
# vim impala
IMPALA_CATALOG_SERVICE_HOST= Goblin_01
IMPALA_STATE_STORE_HOST= Goblin_01
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}"
ENABLE_CORE_DUMPS=false
# 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
# 如果需要设置 impala 中每一个队列的最大请求数,需要在上面的 IMPALA_SERVER_ARGS 参数值后面添加 -default_pool_max_requests=-1 ,
# 该参数设置每一个队列的最大请求数,如果为-1,则表示不做限制。

在节点Goblin_01上拷贝hive-site.xml、core-site.xml、hdfs-site.xml至/usr/lib/impala/conf目录并作下面修改在hdfs-site.xml文件中添加如下内容:

# cd /etc/impala/conf
# cp /etc/hive/conf/hive-site.xml .
# cp /etc/hadoop/conf/core-site.xml .
# cp /etc/hadoop/conf/hdfs-site.xml .
vim 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>
    # 此处确保/var/run/hadoop-hdfs/目录存在
</property>

<property>
    <name>dfs.client.file-block-storage-locations.timeout.millis</name>
    <value>10000</value>
</property>

<property>
  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  <value>true</value>
</property>

同步以上文件到其他节点。

# scp hdfs-site.xml Goblin_02:`pwd`
# scp hdfs-site.xml Goblin_03:`pwd`
# scp hdfs-site.xml Goblin_04:`pwd`
# cp hdfs-site.xml /etc/hadoop/conf
# cd /etc/hadoop/conf
# scp hdfs-site.xml Goblin_02:`pwd`
# scp hdfs-site.xml Goblin_03:`pwd`
# scp hdfs-site.xml Goblin_04:`pwd`

3.2 重启hdfs

cd /etc/init.d
Goblin_01:hadoop-hdfs-namenode restart
Goblin_02: hadoop-hdfs-datanode restart
Goblin_03: hadoop-hdfs-datanode restart
Goblin_04: hadoop-hdfs-datanode restart

3.3 添加用户组

impala 安装过程中会创建名为 impala 的用户和组,不要删除该用户和组。 如果想要 impala 和 YARN 和 Llama 合作,需要把 impala 用户加入 hdfs 组。 impala 在执行 DROP TABLE 操作时,需要把文件移到到 hdfs 的回收站,所以你需要创建一个 hdfs 的目录 /user/impala,并将其设置为impala 用户可写。同样的,impala 需要读取 hive 数据仓库下的数据,故需要把 impala 用户加入 hive 组。

创建 impala 用户家目录并设置权限:

hdfs dfs -mkdir /user/impala
hdfs dfs -chown impala:impala /user/impala

查看 impala 用户所属的组:

groups impala
impala : impala hadoop hdfs hive

由上可知,impala 用户是属于 impala、hadoop、hdfs、hive 用户组的

也可通过以下两条命令查看 cat /etc/passwd |grep impala cat /etc/group |grep impala

添加用户组 usermod -a -G hdfs,hive,hadoop impala

4. 启动服务

在Goblin_01节点启动: cd /etc/init.d impala-state-store start impala-catalog start 如果impala-state-store正常启动,可以在/var/log/impala/statestored.INFO查看。如果出现异常,可以查看/var/log/impala/statestored.ERROR定位错误信息。 如果impala-catalog正常启动,可以在/var/log/impala/catalogd.INFO查看。如果出现异常,可以查看/var/log/impala/catalogd.ERROR定位错误信息。

Goblin_02: /etc/init.d/impala-server start
Goblin_03:/etc/init.d/impala-server start
Goblin_04:/etc/init.d/impala-server start

如果impalad正常启动,可以在/tmp/ impalad.INFO查看。如果出现异常,可以查看/tmp/impalad.ERROR定位错误信息。