Apache HBase-fürt replikálásának beállítása az Azure Virtual Networks szolgáltatásbanSet up Apache HBase cluster replication in Azure virtual networks

Megtudhatja, hogyan állíthatja be az Apache HBase -replikációt egy virtuális hálózaton belül, illetve két virtuális hálózat között az Azure-ban.Learn how to set up Apache HBase replication within a virtual network, or between two virtual networks in Azure.

A fürt replikálása forrás-leküldéses módszertant használ.Cluster replication uses a source-push methodology. Egy HBase-fürt lehet forrás vagy cél, vagy egyszerre is teljesítheti mindkét szerepkört.An HBase cluster can be a source or a destination, or it can fulfill both roles at once. A replikálás aszinkron módon történik.Replication is asynchronous. A replikáció célja végleges konzisztencia.The goal of replication is eventual consistency. Ha a forrás a replikáció engedélyezésekor egy oszlop családjának szerkeszti az oszlopot, a rendszer az összes célhelyre propagálja a szerkesztést.When the source receives an edit to a column family when replication is enabled, the edit is propagated to all destination clusters. Ha az adatok replikálása az egyik fürtről a másikra történik, a rendszer a forrás-fürtöt és az összes olyan fürtöt nyomon követi, amely már felhasználta az adatok követését a replikálási hurokWhen data is replicated from one cluster to another, the source cluster and all clusters that have already consumed the data are tracked, to prevent replication loops.

Ebben a cikkben egy forrás-cél replikálást állít be.In this article, you set up a source-destination replication. Más fürtök topológiái esetén tekintse meg az Apache HBase útmutatóját.For other cluster topologies, see the Apache HBase reference guide.

A következő HBase-replikációs használati esetek egyetlen virtuális hálózat esetén:The following are HBase replication usage cases for a single virtual network:

  • Terheléselosztás.Load balancing. Futtathat például vizsgálatokat vagy MapReduce feladatokat a célszámítógépen, és betöltheti az adatokkal a forrás-fürtöt.For example, you can run scans or MapReduce jobs on the destination cluster, and ingest data on the source cluster.
  • Magas rendelkezésre állás hozzáadása.Adding high availability.
  • Adatok áttelepítése egyik HBase-fürtről a másikra.Migrating data from one HBase cluster to another.
  • Azure HDInsight-fürt frissítése egyik verzióról a másikra.Upgrading an Azure HDInsight cluster from one version to another.

A következő két virtuális hálózat HBase-replikációs használati esetei:The following are HBase replication usage cases for two virtual networks:

  • Vész-helyreállítás beállítása.Setting up disaster recovery.
  • Terheléselosztás és az alkalmazás particionálása.Load balancing and partitioning the application.
  • Magas rendelkezésre állás hozzáadása.Adding high availability.

A fürtöket a GitHubparancsfájl- művelet parancsfájljai használatával replikálhatja.You can replicate clusters by using script action scripts from GitHub.

ElőfeltételekPrerequisites

A cikk elkezdése előtt Azure-előfizetéssel kell rendelkeznie.Before you begin this article, you must have an Azure subscription. Lásd: ingyenes Azure-próbaverzió beszerzése.See Get an Azure free trial.

A környezetek beállításaSet up the environments

Három konfigurációs lehetőség közül választhat:You have three configuration options:

  • Két Apache HBase-fürt egyetlen Azure-beli virtuális hálózatban.Two Apache HBase clusters in one Azure virtual network.
  • Két Apache HBase-fürt két különböző virtuális hálózatban ugyanabban a régióban.Two Apache HBase clusters in two different virtual networks in the same region.
  • Két Apache HBase-fürt két különböző régióban (Geo-replikáció) két különböző virtuális hálózatban.Two Apache HBase clusters in two different virtual networks in two different regions (geo-replication).

Ez a cikk a földrajzi replikálási forgatókönyvet ismerteti.This article covers the geo-replication scenario.

A környezetek beállításának elősegítése érdekében létrehoztunk néhány Azure Resource Manager sablont.To help you set up the environments, we have created some Azure Resource Manager templates. Ha más módszerekkel szeretné beállítani a környezeteket, tekintse meg a következőt:If you prefer to set up the environments by using other methods, see:

Két virtuális hálózat beállítása két különböző régióbanSet up two virtual networks in two different regions

Ha olyan sablont szeretne használni, amely két virtuális hálózatot hoz létre két különböző régióban és a VPN-kapcsolatot a virtuális hálózatok között, válassza a következő üzembe helyezés az Azure -ban gombot.To use a template that creates two virtual networks in two different regions and the VPN connection between the VNets, select the following Deploy to Azure button. A sablon definícióját egy nyilvános blob Storagetárolja.The template definition is stored in a public blob storage.

Deploy to Azure button for new cluster

A sablonban a rögzített értékek némelyike:Some of the hard-coded values in the template:

1. VNetVNet 1

TulajdonságProperty Value (Díj)Value
Földrajzi egységLocation USA nyugati régiójaWest US
VNet neveVNet name <ClusterNamePrevix > – vnet1<ClusterNamePrevix>-vnet1
Címterület előtagjaAddress space prefix 10.1.0.0/1610.1.0.0/16
Alhálózat neveSubnet name 1. alhálózatsubnet 1
Alhálózat előtagjaSubnet prefix 10.1.0.0/2410.1.0.0/24
Alhálózat (átjáró) neveSubnet (gateway) name GatewaySubnet (nem módosítható)GatewaySubnet (can't be changed)
Alhálózat (átjáró) előtagjaSubnet (gateway) prefix 10.1.255.0/2710.1.255.0/27
Átjáró neveGateway name vnet1gwvnet1gw
Átjáró típusaGateway type VpnVpn
Átjáró VPN-típusaGateway VPN type ÚtvonalalapúRouteBased
Átjáró SKUGateway SKU BasicBasic
Átjáró IP-címeGateway IP vnet1gwipvnet1gwip

2. VNetVNet 2

TulajdonságProperty Value (Díj)Value
Földrajzi egységLocation USA keleti régiójaEast US
VNet neveVNet name <ClusterNamePrevix > – vnet2<ClusterNamePrevix>-vnet2
Címterület előtagjaAddress space prefix 10.2.0.0/1610.2.0.0/16
Alhálózat neveSubnet name 1. alhálózatsubnet 1
Alhálózat előtagjaSubnet prefix 10.2.0.0/2410.2.0.0/24
Alhálózat (átjáró) neveSubnet (gateway) name GatewaySubnet (nem módosítható)GatewaySubnet (can't be changed)
Alhálózat (átjáró) előtagjaSubnet (gateway) prefix 10.2.255.0/2710.2.255.0/27
Átjáró neveGateway name vnet2gwvnet2gw
Átjáró típusaGateway type VpnVpn
Átjáró VPN-típusaGateway VPN type ÚtvonalalapúRouteBased
Átjáró SKUGateway SKU BasicBasic
Átjáró IP-címeGateway IP vnet1gwipvnet1gwip

DNS beállításaSetup DNS

Az utolsó szakaszban a sablon létrehoz egy Ubuntu-alapú virtuális gépet a két virtuális hálózat mindegyikében.In the last section, the template creates an Ubuntu virtual machine in each of the two virtual networks. Ebben a szakaszban a kötést telepíti a két DNS virtuális gépre, majd konfigurálja a DNS-továbbítást a két virtuális gépen.In this section, you install Bind on the two DNS virtual machines, and then configure the DNS forwarding on the two virtual machines.

A kötés telepítéséhez a Yon-nek meg kell keresnie a két DNS virtuális gép nyilvános IP-címét.To install Bind, yon need to find the public IP address of the two DNS virtual machines.

  1. Nyissa meg az Azure portált.Open the Azure portal.
  2. A DNS virtuális gép megnyitásához válassza az erőforráscsoportok > [erőforráscsoport neve] > [vnet1DNS] elemet.Open the DNS virtual machine by selecting Resources groups > [resource group name] > [vnet1DNS]. Az erőforráscsoport neve az utolsó eljárásban létrehozott csoport.The resource group name is the one you create in the last procedure. Az alapértelmezett DNS-beli virtuális gépek nevei a következők: vnet1DNS és vnet2NDS.The default DNS virtual machine names are vnet1DNS and vnet2NDS.
  3. Válassza a Tulajdonságok lehetőséget a virtuális hálózat Tulajdonságok lapjának megnyitásához.Select Properties to open the properties page of the virtual network.
  4. Jegyezze fel a nyilvános IP-címet, és ellenőrizze a magánhálózati IP-címetis.Write down the Public IP address, and also verify the Private IP address. A magánhálózati IP-címet a vnet2DNS vnet1DNS és 10.2.0.4 10.1.0.4 kell megadni.The private IP address shall be 10.1.0.4 for vnet1DNS and 10.2.0.4 for vnet2DNS.
  5. Módosítsa a DNS-kiszolgálókat mindkét virtuális hálózatra úgy, hogy az alapértelmezett (Azure által biztosított) DNS-kiszolgálókat használják a bejövő és kimenő hozzáféréshez a csomagok letöltéséhez a következő lépésekben a kötés telepítéséhez.Change the DNS Servers for both virtual networks to use Default (Azure-Provided) DNS servers to allow inbound and outbound access to download packages to install Bind in the following steps.

A kötés telepítéséhez kövesse az alábbi eljárást:To install Bind, use the following procedure:

  1. Használja az SSH-t a DNS virtuális gép nyilvános IP-címéhez való kapcsolódáshoz.Use SSH to connect to the public IP address of the DNS virtual machine. A következő példa egy virtuális géphez csatlakozik a 40.68.254.142-ben:The following example connects to a virtual machine at 40.68.254.142:

    ssh sshuser@40.68.254.142
    

    Cserélje le a sshusert a DNS virtuális gép létrehozásakor megadott SSH-felhasználói fiókra.Replace sshuser with the SSH user account you specified when creating the DNS virtual machine.

    Megjegyzés

    A ssh segédprogram beszerzésének számos módja van.There are a variety of ways to obtain the ssh utility. Linux, UNIX és macOS rendszeren az operációs rendszer részeként van megadva.On Linux, Unix, and macOS, it is provided as part of the operating system. Ha Windows rendszert használ, vegye figyelembe a következő lehetőségek egyikét:If you are using Windows, consider one of the following options:

  2. A kötés telepítéséhez használja az alábbi parancsokat az SSH-munkamenetből:To install Bind, use the following commands from the SSH session:

    sudo apt-get update -y
    sudo apt-get install bind9 -y
    
  3. Konfigurálja a kötést a névfeloldási kérelmek továbbításához a helyszíni DNS-kiszolgálóra.Configure Bind to forward name resolution requests to your on premises DNS server. Ehhez használja a következő szöveget a /etc/bind/named.conf.options fájl tartalmaként:To do so, use the following text as the contents of the /etc/bind/named.conf.options file:

    acl goodclients {
        10.1.0.0/16; # Replace with the IP address range of the virtual network 1
        10.2.0.0/16; # Replace with the IP address range of the virtual network 2
        localhost;
        localhost;
    };
    
    options {
        directory "/var/cache/bind";
        recursion yes;
        allow-query { goodclients; };
    
        forwarders {
            168.63.129.16; #This is the Azure DNS server
        };
    
        dnssec-validation auto;
    
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
    };
    

    Fontos

    Cserélje le a goodclients szakasz értékeit a két virtuális hálózat IP-címének tartományára.Replace the values in the goodclients section with the IP address range of the two virtual networks. Ez a szakasz azokat a címeket határozza meg, amelyekkel a DNS-kiszolgáló fogadja a kérelmeket.This section defines the addresses that this DNS server accepts requests from.

    A fájl szerkesztéséhez használja a következő parancsot:To edit this file, use the following command:

    sudo nano /etc/bind/named.conf.options
    

    A fájl mentéséhez használja a CTRL + X billentyűkombinációt , majd __írja be__a következőt:.To save the file, use Ctrl+X, Y, and then Enter.

  4. Az SSH-munkamenetben használja a következő parancsot:From the SSH session, use the following command:

    hostname -f
    

    Ez a parancs az alábbi szöveghez hasonló értéket ad vissza:This command returns a value similar to the following text:

     vnet1DNS.icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net
    

    A icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net szöveg a virtuális hálózat DNS-utótagja .The icb0d0thtw0ebifqt0g1jycdxd.ex.internal.cloudapp.net text is the DNS suffix for this virtual network. Mentse ezt az értéket, mivel később még használni fogjuk.Save this value, as it is used later.

    A DNS-utótagot is meg kell találnia a másik DNS-kiszolgálóról.You must also find out the DNS suffix from the other DNS server. A következő lépésben szüksége lesz rá.You need it in the next step.

  5. A virtuális hálózaton belüli erőforrások DNS-neveinek feloldásához a kötés konfigurálásához használja a következő szöveget a /etc/bind/named.conf.local fájl tartalmaként:To configure Bind to resolve DNS names for resources within the virtual network, use the following text as the contents of the /etc/bind/named.conf.local file:

    // Replace the following with the DNS suffix for your virtual network
    zone "v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.net" {
            type forward;
            forwarders {10.2.0.4;}; # The Azure recursive resolver
    };
    

    Fontos

    A v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.nett a másik virtuális hálózat DNS-utótagjának helyére kell cserélnie.You must replace the v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.net with the DNS suffix of the other virtual network. A továbbító IP pedig a másik virtuális hálózat DNS-kiszolgálójának magánhálózati IP-címe.And the forwarder IP is the private IP address of the DNS server in the other virtual network.

    A fájl szerkesztéséhez használja a következő parancsot:To edit this file, use the following command:

    sudo nano /etc/bind/named.conf.local
    

    A fájl mentéséhez használja a CTRL + X billentyűkombinációt , majd __írja be__a következőt:.To save the file, use Ctrl+X, Y, and then Enter.

  6. A kötés elindításához használja a következő parancsot:To start Bind, use the following command:

    sudo service bind9 restart
    
  7. A következő parancsokkal ellenőrizheti, hogy a kötés fel tudja-e oldani a másik virtuális hálózatban lévő erőforrások nevét:To verify that bind can resolve the names of resources in the other virtual network, use the following commands:

    sudo apt install dnsutils
    nslookup vnet2dns.v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.net
    

    Fontos

    Cserélje le a vnet2dns.v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.nett a másik hálózatban található DNS virtuális gép teljes tartománynevére (FQDN).Replace vnet2dns.v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.net with the fully qualified domain name (FQDN) of the DNS virtual machine in the other network.

    Cserélje le a 10.2.0.4t a másik virtuális hálózatban lévő egyéni DNS -kiszolgáló belső IP-címére .Replace 10.2.0.4 with the internal IP address of your custom DNS server in the other virtual network.

    A válasz az alábbi szöveghez hasonlóan jelenik meg:The response appears similar to the following text:

    Server:         10.2.0.4
    Address:        10.2.0.4#53
    
    Non-authoritative answer:
    Name:   vnet2dns.v5ant3az2hbe1edzthhvwwkcse.bx.internal.cloudapp.net
    Address: 10.2.0.4
    

    Eddig nem tekintheti meg az IP-címet a másik hálózatról a megadott DNS-kiszolgáló IP-címe nélkül.Until now, you cannot look up the IP address from the other network without specified DNS server IP address.

A virtuális hálózat konfigurálása az egyéni DNS-kiszolgáló használatáraConfigure the virtual network to use the custom DNS server

Ha úgy szeretné konfigurálni a virtuális hálózatot, hogy az egyéni DNS-kiszolgálót használja az Azure rekurzív feloldó helyett, kövesse az alábbi lépéseket:To configure the virtual network to use the custom DNS server instead of the Azure recursive resolver, use the following steps:

  1. A Azure Portalválassza ki a virtuális hálózatot, majd válassza a __DNS-kiszolgálók__lehetőséget.In the Azure portal, select the virtual network, and then select DNS Servers.

  2. Válassza az __Egyéni__lehetőséget, majd adja meg az egyéni DNS -kiszolgáló belső IP-címét .Select Custom, and enter the internal IP address of the custom DNS server. Végül válassza a __Mentés__lehetőséget.Finally, select Save.

  3. Nyissa meg a DNS-kiszolgáló virtuális gépet a vnet1-ben, és kattintson az Újraindításgombra.Open the DNS server virtual machine in vnet1, and click Restart. A DNS-konfiguráció érvénybe léptetéséhez újra kell indítania a virtuális hálózatban lévő összes virtuális gépet.You must restart all the virtual machines in the virtual network to make the DNS configuration to take effect.

  4. Ismételje meg a lépéseket az egyéni DNS-kiszolgáló vnet2 való konfigurálásához.Repeat steps configure the custom DNS server for vnet2.

A DNS-konfiguráció teszteléséhez az SSH használatával csatlakozhat a két DNS virtuális géphez, és a másik virtuális hálózat DNS-kiszolgálóját az állomásnév használatával pingelheti.To test the DNS configuration, you can connect to the two DNS virtual machines using SSH, and ping the DNS server of the other virtual network by using its host name. Ha nem működik, a következő parancs használatával ellenőrizze a DNS-állapotot:If it doesn't work, use the following command to check DNS status:

sudo service bind9 status

Apache HBase-fürtök létrehozásaCreate Apache HBase clusters

Hozzon létre egy Apache HBase -fürtöt mind a két virtuális hálózatban a következő konfigurációval:Create an Apache HBase cluster in each of the two virtual networks with the following configuration:

  • Erőforráscsoport neve: használja ugyanazt az erőforráscsoport-nevet a virtuális hálózatok létrehozásakor.Resource group name: use the same resource group name as you created the virtual networks.
  • Fürt típusa: HBaseCluster type: HBase
  • Verzió: HBase 1.1.2 (HDI 3,6)Version: HBase 1.1.2 (HDI 3.6)
  • Hely: a virtuális hálózattal megegyező helyet használja.Location: Use the same location as the virtual network. Alapértelmezés szerint a vnet1 az USA nyugatirégiója, a vnet2 pedig az USA keletirégiója.By default, vnet1 is West US, and vnet2 is East US.
  • Storage: hozzon létre egy új Storage-fiókot a fürthöz.Storage: Create a new storage account for the cluster.
  • Virtuális hálózat (a portál speciális beállításaiból): válassza ki a legutóbbi eljárás során létrehozott vnet1.Virtual network (from Advanced settings on the portal): Select vnet1 you created in the last procedure.
  • Alhálózat: a sablonban használt alapértelmezett név a subnet1.Subnet: The default name used in the template is subnet1.

Annak biztosítása érdekében, hogy a környezet megfelelően legyen konfigurálva, meg kell tudnia pingelni a átjárócsomóponthoz teljes tartománynevét a két fürt között.To ensure the environment is configured correctly, you must be able to ping the headnode's FQDN between the two clusters.

Tesztadatok betöltéseLoad test data

Fürt replikálásakor meg kell adnia a replikálni kívánt táblákat.When you replicate a cluster, you must specify the tables that you want to replicate. Ebben a szakaszban egy bizonyos adatforrást tölt be a fürtbe.In this section, you load some data into the source cluster. A következő szakaszban engedélyeznie kell a két fürt közötti replikálást.In the next section, you will enable replication between the two clusters.

Ha egy Contacts táblát szeretne létrehozni, és beszúr néhány információt a táblázatba, kövesse az Apache HBase oktatóanyag: az Apache HBase használatának első lépései a HDInsight-bencímű témakört.To create a Contacts table and insert some data in the table, follow the instructions at Apache HBase tutorial: Get started using Apache HBase in HDInsight.

Megjegyzés

Ha egyéni névtérből kívánja replikálni a táblákat, győződjön meg arról, hogy a megfelelő egyéni névterek definiálva vannak a célkiszolgálón is.If you want to replicate tables from a custom namespace, you need to ensure that the appropriate custom namespaces are defined on the destination cluster as well.

A replikáció engedélyezéseEnable replication

A következő lépések azt ismertetik, hogyan hívható meg a parancsfájl műveleti szkriptje a Azure Portalból.The following steps describe how to call the script action script from the Azure portal. A parancsfájl-műveletek Azure PowerShell és a klasszikus Azure CLI használatával történő futtatásával kapcsolatos információkért lásd: HDInsight-fürtök testreszabása parancsfájl-művelet használatával.For information about running a script action by using Azure PowerShell and the Azure Classic CLI, see Customize HDInsight clusters by using script action.

A HBase replikálásának engedélyezése a Azure PortalTo enable HBase replication from the Azure portal

  1. Jelentkezzen be az Azure portálra.Sign in to the Azure portal.

  2. Nyissa meg a forrás HBase-fürtöt.Open the source HBase cluster.

  3. A fürt menüben válassza a parancsfájlok műveletekelemet.In the cluster menu, select Script Actions.

  4. A lap tetején válassza az új küldéselehetőséget.At the top of the page, select Submit New.

  5. Válassza ki vagy adja meg a következő adatokat:Select or enter the following information:

    1. Név: adja meg a replikáció engedélyezéseértéket.Name: Enter Enable replication.

    2. Bash-parancsfájl URL-címe: írja be a https://raw.githubusercontent.com/Azure/hbase-utils/master/replication/hdi_enable_replication.sh .Bash Script URL: Enter https://raw.githubusercontent.com/Azure/hbase-utils/master/replication/hdi_enable_replication.sh.

    3. Head: Győződjön meg róla, hogy ez be van jelölve.Head: Ensure this is selected. Törölje a többi csomópont típusát.Clear the other node types.

    4. Paraméterek: a következő minta paraméterek lehetővé teszik az összes létező tábla replikálását, majd az összes adatforrás másolását a fürtbe:Parameters: The following sample parameters enable replication for all existing tables, and then copy all data from the source cluster to the destination cluster:

      -m hn1 -s <source hbase cluster name> -d <destination hbase cluster name> -sp <source cluster Ambari password> -dp <destination cluster Ambari password> -copydata
      

      Megjegyzés

      A forrás-és a célként megadott fürt DNS-neveként a teljes tartománynevet használja az állomásnév helyett.Use hostname instead of FQDN for both the source and destination cluster DNS name.

      Ez az útmutató feltételezi, hogy az hn1 aktív átjárócsomóponthoz.This walkthrough assumes hn1 as active headnode. Ellenőrizze, hogy a fürt azonosítsa-e az aktív fő csomópontot.Please check your cluster to identify the active head node.

  6. Kattintson a Létrehozás gombra.Select Create. A szkript futása hosszabb ideig is eltarthat, különösen a -COPYDATA argumentum használatakor.The script can take a while to run, especially when you use the -copydata argument.

Szükséges argumentumok:Required arguments:

NévName LeírásDescription
-s,--src-cluster-s, --src-cluster Megadja a forrás HBase-fürt DNS-nevét.Specifies the DNS name of the source HBase cluster. Például:-s hbsrccluster,--src-cluster = hbsrcclusterFor example: -s hbsrccluster, --src-cluster=hbsrccluster
-d,--DST-cluster-d, --dst-cluster Megadja a cél (replika) HBase-fürt DNS-nevét.Specifies the DNS name of the destination (replica) HBase cluster. Például:-s dsthbcluster,--src-cluster = dsthbclusterFor example: -s dsthbcluster, --src-cluster=dsthbcluster
-SP,--src-ambari-Password-sp, --src-ambari-password Megadja a Ambari rendszergazdai jelszavát a forrás HBase-fürtön.Specifies the admin password for Ambari on the source HBase cluster.
-DP,--DST-ambari-Password-dp, --dst-ambari-password Megadja a Ambari rendszergazdai jelszavát a cél HBase-fürtön.Specifies the admin password for Ambari on the destination HBase cluster.

Nem kötelező argumentumok:Optional arguments:

NévName LeírásDescription
-Su,--src-ambari-User-su, --src-ambari-user A Ambari rendszergazdai felhasználónevét adja meg a forrás HBase-fürtön.Specifies the admin user name for Ambari on the source HBase cluster. Az alapértelmezett érték a rendszergazda.The default value is admin.
-du,--DST-ambari-User-du, --dst-ambari-user A Ambari rendszergazdai felhasználónevét adja meg a cél HBase-fürtön.Specifies the admin user name for Ambari on the destination HBase cluster. Az alapértelmezett érték a rendszergazda.The default value is admin.
-t,--Table-List-t, --table-list A replikálni kívánt táblákat határozza meg.Specifies the tables to be replicated. Például:--table-List = "tábla1; table2; Tábl3".For example: --table-list="table1;table2;table3". Ha nem ad meg táblákat, az összes meglévő HBase-tábla replikálódik.If you don't specify tables, all existing HBase tables are replicated.
-m,--Machine-m, --machine Meghatározza azt a fő csomópontot, ahol a parancsfájl-művelet fut.Specifies the head node where the script action runs. Az értéket az aktív fő csomópont alapján kell kiválasztani.The value should be chosen based on which is the active head node. Akkor használja ezt a beállítást, ha az $0 parancsfájlt parancsfájl-műveletként futtatja a HDInsight-portálról vagy Azure PowerShellról.Use this option when you're running the $0 script as a script action from the HDInsight portal or Azure PowerShell.
-CP,-COPYDATA-cp, -copydata Engedélyezi a meglévő adatáttelepítést azon táblákon, amelyeken engedélyezve van a replikáció.Enables the migration of existing data on the tables where replication is enabled.
-RPM,-replikálás-Phoenix-meta-rpm, -replicate-phoenix-meta Engedélyezi a replikációt a Phoenix rendszertábláin.Enables replication on Phoenix system tables.

Ezt a beállítást körültekintően használhatja.Use this option with caution. Javasoljuk, hogy a parancsfájl használata előtt hozza létre újra a Phoenix-táblákat a replika fürtökön.We recommend that you re-create Phoenix tables on replica clusters before you use this script.
-h,-– Súgó-h, --help Megjeleníti a használati adatokat.Displays usage information.

A szkript print_usage() szakasza részletesen ismerteti a paramétereket.The print_usage() section of the script has a detailed explanation of parameters.

A parancsfájl sikeres üzembe helyezését követően az SSH használatával kapcsolódhat a cél HBase-fürthöz, majd ellenőrizheti, hogy az információk replikálva lettek-e.After the script action is successfully deployed, you can use SSH to connect to the destination HBase cluster, and then verify that the data has been replicated.

Replikációs forgatókönyvekReplication scenarios

A következő lista az általános használati eseteket és azok paraméter-beállításait mutatja be:The following list shows you some general usage cases and their parameter settings:

  • Engedélyezze a replikációt a két fürt közötti összes táblán.Enable replication on all tables between the two clusters. Ehhez a forgatókönyvhöz nem szükséges a táblákban meglévő adatok másolása vagy áttelepítése, és nem használja a Phoenix-táblákat.This scenario does not require copying or migrating existing data in the tables, and it does not use Phoenix tables. Használja a következő paramétereket:Use the following parameters:

      -m hn1 -s <source hbase cluster name> -d <destination hbase cluster name> -sp <source cluster Ambari password> -dp <destination cluster Ambari password>  
    
  • Replikáció engedélyezése adott táblákon.Enable replication on specific tables. A Tábla1, a table2 és a Tábl3 replikációjának engedélyezéséhez használja a következő paramétereket:To enable replication on table1, table2, and table3, use the following parameters:

      -m hn1 -s <source hbase cluster name> -d <destination hbase cluster name> -sp <source cluster Ambari password> -dp <destination cluster Ambari password> -t "table1;table2;table3"
    
  • Engedélyezze a replikációt bizonyos táblákon, és másolja a meglévőket.Enable replication on specific tables, and copy the existing data. A Tábla1, a table2 és a Tábl3 replikációjának engedélyezéséhez használja a következő paramétereket:To enable replication on table1, table2, and table3, use the following parameters:

      -m hn1 -s <source hbase cluster name> -d <destination hbase cluster name> -sp <source cluster Ambari password> -dp <destination cluster Ambari password> -t "table1;table2;table3" -copydata
    
  • Engedélyezze a replikációt az összes táblán, és a Phoenix-metaadatokat replikálja a forrásról a célhelyre.Enable replication on all tables, and replicate Phoenix metadata from source to destination. A Phoenix-metaadatok replikációja nem tökéletes.Phoenix metadata replication is not perfect. Körültekintően használja.Use it with caution. Használja a következő paramétereket:Use the following parameters:

      -m hn1 -s <source hbase cluster name> -d <destination hbase cluster name> -sp <source cluster Ambari password> -dp <destination cluster Ambari password> -t "table1;table2;table3" -replicate-phoenix-meta
    

Az Adatmásolás és-MigrálásCopy and migrate data

Az adatok másolásához és áttelepítéséhez két külön parancsfájl-műveletre van lehetőség a replikáció engedélyezése után:There are two separate script action scripts available for copying or migrating data after replication is enabled:

Ugyanezt az eljárást követve megtekintheti a replikáció engedélyezése a parancsfájl-művelet meghívásához című szakaszt.You can follow the same procedure that's described in Enable replication to call the script action. Használja a következő paramétereket:Use the following parameters:

-m hn1 -t <table1:start_timestamp:end_timestamp;table2:start_timestamp:end_timestamp;...> -p <replication_peer> [-everythingTillNow]

A szkript print_usage() szakasza részletes leírást tartalmaz a paraméterekről.The print_usage() section of the script has a detailed description of parameters.

Alkalmazási helyzetekScenarios

  • Adott táblák (test1, teszt2 és test3) másolása a mai napig szerkesztett összes sorhoz (aktuális időbélyeg) :Copy specific tables (test1, test2, and test3) for all rows edited until now (current time stamp):

      -m hn1 -t "test1::;test2::;test3::" -p "zk5-hbrpl2;zk1-hbrpl2;zk5-hbrpl2:2181:/hbase-unsecure" -everythingTillNow
    

    VagyOr:

      -m hn1 -t "test1::;test2::;test3::" --replication-peer="zk5-hbrpl2;zk1-hbrpl2;zk5-hbrpl2:2181:/hbase-unsecure" -everythingTillNow
    
  • Megadott időtartományba tartozó táblák másolása:Copy specific tables with a specified time range:

      -m hn1 -t "table1:0:452256397;table2:14141444:452256397" -p "zk5-hbrpl2;zk1-hbrpl2;zk5-hbrpl2:2181:/hbase-unsecure"
    

A replikálás letiltásaDisable replication

A replikáció letiltásához használjon egy másik parancsfájl-műveleti parancsfájlt a githubról.To disable replication, use another script action script from GitHub. Ugyanezt az eljárást követve megtekintheti a replikáció engedélyezése a parancsfájl-művelet meghívásához című szakaszt.You can follow the same procedure that's described in Enable replication to call the script action. Használja a következő paramétereket:Use the following parameters:

-m hn1 -s <source hbase cluster name> -sp <source cluster Ambari password> <-all|-t "table1;table2;...">  

A szkript print_usage() szakasza részletesen ismerteti a paramétereket.The print_usage() section of the script has a detailed explanation of parameters.

Alkalmazási helyzetekScenarios

  • Replikáció letiltása az összes táblában:Disable replication on all tables:

      -m hn1 -s <source hbase cluster name> -sp Mypassword\!789 -all
    

    vagyor

      --src-cluster=<source hbase cluster name> --dst-cluster=<destination hbase cluster name> --src-ambari-user=<source cluster Ambari user name> --src-ambari-password=<source cluster Ambari password>
    
  • Replikáció letiltása a megadott táblákon (Tábla1, table2 és Tábl3) :Disable replication on specified tables (table1, table2, and table3):

      -m hn1 -s <source hbase cluster name> -sp <source cluster Ambari password> -t "table1;table2;table3"
    

Megjegyzés

Ha törölni kívánja a fürtöt, győződjön meg róla, hogy eltávolítja a forrás-fürt társ-listájából.If you intend to delete the destination cluster, make sure you remove it from the peer list of the source cluster. Ezt úgy teheti meg, hogy a (z) remove_peer "1" parancsot futtatja a hbase-rendszerhéjban.This can be done by running the command remove_peer '1' at the hbase shell on the source cluster. Ha ez nem sikerül, akkor előfordulhat, hogy a fürterőforrás nem működik megfelelően.Failing this the source cluster may not function properly.

Következő lépésekNext steps

Ebből a cikkből megtudhatta, hogyan állíthatja be az Apache HBase-replikációt egy virtuális hálózaton belül vagy két virtuális hálózat között.In this article, you learned how to set up Apache HBase replication within a virtual network, or between two virtual networks. A HDInsight és az Apache HBase kapcsolatos további tudnivalókért tekintse meg a következő cikkeket:To learn more about HDInsight and Apache HBase, see these articles: