Impala编译部署-6集群部署

时间:2021-06-17 04:47:51

集群部署如果多机采用虚拟机方便一点,可以在一台机器上配置完成后以此为模板创建其他虚拟机,否则就需要在每台机器上做一些重复的工作和检查。尽量借助一些运维工具以减轻工作量。

以3主机集群介绍

1.1  准备集群主机

1.1.1 主机规划

规划各主机的IP地址,主机名,每主机上要部署的服务。例如

IP地址

主机名

Hadoop服务

Impala服务

192.168.179.150

Impala1

NameNode,DataNode

Impalad

192.168.179.151

Impala2

DataNode

Impalad,

Catalogd,Statestored

192.168.179.152

Impala3

DataNode

Impalad

备注:Hadoop 实现单NameNode,三个DataNode模式。如果NameNode采用主备模式,则下面的配置需要更改,步骤也不尽相同。Hadoop NameNode配置不是本文重点。单NameNode已足够集群功能演练使用。

1.1.2 ssh互信

实现方法参考 http://blog.chinaunix.net/uid-16979052-id-3568036.html

各主机间ssh互操作不提示输入密码。

1.1.3 各单机部署

1.1.3.1 文件拷贝

将编译生成并复制的可执行文件,一起拷贝到本机某目录下,比如/root/impala2

1.1.3.2 安装JDK

安装JDK。方法同编译部分。

1.1.3.3 环境变量

~/.bashrc

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64

export PATH
=$PATH:$JAVA_HOME/bin

export CLASSPATH
=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 

~/.bash_profile

export IMPALA_HOME=/root/impala2

source
/etc/default/impala

 

1.1.3.4 关闭/禁用防火墙

systemctl disable firewalld

systemctl stop firewalld

 

 

1.1.3.5 修改hosts文件

192.168.179.150 impala1

192.168.179.151 impala2

192.168.179.152 impala3

 

1.1.3.6 时间同步

Ntp服务。

 

1.2  HDFS配置及初始化

操作需要在每台主机上执行,配置文件core-site.xml,hdfs-site.xml 各主机要保持一致。

 

在每个datanode执行

mkdir /var/run/hdfs-sockets/

mkdir -p /usr/local/hadoop/hdfs/data

mkdir /var/run/hdfs-sockets/

 

在namenode执行

mkdir -p /usr/local/hadoop/hdfs/name

1.2.1 core-site.xml

文件路径 /etc/hadoop/core-site.xml

 

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://impala1</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

 

1.2.2 hdfs-site.xml

文件路径 /etc/hadoop/hdfs-site.xml

 

<configuration>



<property>

<name>dfs.nameservices</name>

<value>impala1</value>

</property>



<property>

<name>dfs.ha.namenodes.impala1</name>

<value>impala1</value>

</property>

<property>

<name>dfs.replicatioin</name>

<value>2</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop/hdfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/hdfs/data</value>

</property>

<property>

<name>dfs.client.read.shortcircuit</name>

<value>true</value>

</property>



<property>

<name>dfs.domain.socket.path</name>

<value>/var/run/hdfs-sockets/dn</value>

</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>



</configuration>

 

 

1.2.3 Slaves

配置hdfs datanode 主机名,文件/etc/hadoop/slaves

内容为

Impala1

Impala2

Impala3

 

1.2.4 HDFS初始化

namenode上执行

source /etc/hadoop/hadoop-env.sh

hadoop namenode
-format

 

 

1.3  Impala配置及初始化

操作需要在每台主机上执行,配置文件各主机保持一致。

 

1.3.1 Impala配置文件

路径/etc/default/impala

 

IMPALA_STATE_STORE_HOST=impala2

IMPALA_STATE_STORE_PORT
=24000

IMPALA_BACKEND_PORT
=22000

IMPALA_LOG_DIR
=/var/log/impala

IMPALA_CATALOG_SERVICE_HOST
=impala2

其他和单机一样

 

 

1.3.2 初始化

mkdir /var/log/impala

 

 

1.4  启动服务

修改~/.bash_profile增加 避免每次输入

source /etc/hadoop/hadoop-env.sh

 

注意在启动前source /etc/default/impala 使配置生效。

1.4.1 启动hdfs

在namenode上执行

source /etc/hadoop/hadoop-env.sh

start
-dfs.sh

 

 

启动成功后jps可以看到每主机上都有datanode,在impala1上有namenode进程。

 

1.4.1.1 常用HDFS操作

Hdfs操作命令和linux文件操作类似。

 

列出hdfs根目录下的文件

hadoop  fs  -ls  /

 

上传本地文件到hdfs

hadoop  fs  -put  localpath  hdfspath

 

查看hdfs文件内容

hadoop   fs  -cat  hdfsfilepath

 

1.4.2 启动impala服务

impala2

nohup ${CATALOGCMD} >> catalog.log 2>&1 &

nohup ${STATESTORECMD}
>> statestore.log 2>&1 &

 

 

所有主机上

nohup ${IMPALADCMD} -kudu_master_hosts=192.168.179.146:7051  >> impalad.log 2>&1 &

 

1.5  shell功能测试

可以在任何一台运行了impalad的机器上打开impala-shell。

功能测试和单机部署时的shell功能测试一样

Shell功能测试

不同主机上shell连接的实际是同一个impala集群。所以在A主机上创建的表,可以在B主机上的shell中看到并操作。

 

1.6  WEB服务监控

Impala各组件提供了web监控的方式,可以以此查看配置和运行情况。

 

http://192.168.179.151:25000/

http://192.168.179.151:25010/

http://192.168.179.151:25020/