6.15. 跨集群数据同步

6.15.1. 跨集群访问数据(非认证)

1. Hadoop集群配置

​ 跨集群同步数据主要分为两种情况:有kerberos认证集群和无kerberos认证集群,目的就是将对端集群的数据同步到lsql中,下面以无kerberos认证集群为例讲解操作步骤。

使用load.sh将其他集群的数据导入lsql,需要先配置lsql访问其他集群的Hadoop配置。

(1) 编辑hdfs-site.xml增加如下配置,其中127.0.0.1、127.0.0.2为对端集群的主备节点。 
\# vi /opt/software/hadoop/hdfs/etc/hadoop/hdfs-site.xml
(2) ngpcluster,ngpcluster2为两套namenode集群的名字,ngpcluster2下面有两个NameNode,逻辑地址分别是nn1,nn2。
<!-- 跨集群访问配置 -->
<property>
<name>dfs.nameservices</name>
<value>ngpcluster,ngpcluster2</value>
</property>

<property>
<name>dfs.ha.namenodes.ngpcluster2</name>
<value>nn1,nn2</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ngpcluster2.nn1</name>
<value>127.0.0.1:8020</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ngpcluster2.nn2</name>
<value>127.0.0.2:8020</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.ngpcluster2</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property> 
<!-- 跨集群访问配置 -->

(3) 配置完,需要重启lsql。

(4) 测试数据访问。

\# hadoop fs -ls hdfs://ngpcluster2/

6.15.2. 跨集群访问数据(基于kerberos认证)

1. 流程原理

​ 跨集群同步数据主要分为两种情况:有kerberos认证集群和无kerberos认证集群,目的就是将对端集群的数据同步到lsql中,下面以有kerberos认证集群为例讲解操作步骤和原理。主要用于LSQL集群访问带认证的hadoop集群,下图为数据同步的流程原理:

img

2. 配置步骤

(1) 从KDC服务器(含有认证的服务器)获取“/etc/krb5.conf”和“/etc/hadoop/user/user.keytab”拷贝到lsql集群所有节点的/etc/目录下。

(2) Lsql所有节点修改“/etc/hosts”配置增加对端集群所有服务器的hosts信息,一般从对端集群的“/etc/hosts”获取。
# vim /etc/hosts
# hadoop cluster namenode
172.168.3.11 NM01
172.168.3.12 NB01
172.168.3.13 NS01
172.168.3.14 NS02
(3) 获取JDK中的“sunjce_provider.jar”放入lsql的lib目录下。
# cp $JAVA_HOME/jre/lib/ext/sunjce_provider.jar /opt/software/lsql/lib
Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""