blob: a77ea660b5f6ee22e78306a57eb47932b5f45e40 [file] [log] [blame]
{"version":3,"sources":["/home/madhan/Apache/git/atlas/docs/target/src/documents/Hook/HookHBase.md","/home/madhan/Apache/git/atlas/docs/target/theme/styles/styled-colors.js"],"names":["layoutProps","MDXContent","components","props","mdxType","parentName","wrapLines","language","style","theme","isMDXComponent","dark","hljs","color"],"mappings":"ykBAWMA,EAAc,GAIL,SAASC,EAAW,GAG/B,IAFFC,EAAU,EAAVA,WACGC,EAAK,iBAER,OAAO,cALS,UAKC,iBAAKH,EAAiBG,EAAK,CAAED,WAAYA,EAAYE,QAAQ,cAE5E,oBACE,GAAM,8CAA4C,+CAEpD,oBACE,GAAM,eAAa,eAErB,oEACA,wBACE,oBAAIC,WAAW,MAAI,gBACjB,oBAAIA,WAAW,MACb,oBAAIA,WAAW,MAAI,kBACjB,oBAAIA,WAAW,MACb,oBAAIA,WAAW,MAAI,sBACnB,oBAAIA,WAAW,MAAI,4GAGvB,oBAAIA,WAAW,MAAI,cACjB,oBAAIA,WAAW,MACb,oBAAIA,WAAW,MAAI,wBACnB,oBAAIA,WAAW,MAAI,oOAGvB,oBAAIA,WAAW,MAAI,sBACjB,oBAAIA,WAAW,MACb,oBAAIA,WAAW,MAAI,wBACnB,oBAAIA,WAAW,MAAI,8aAM7B,qPACA,cAAC,IAAiB,CAACC,WAAW,EAAMC,SAAS,OAAOC,MAAOC,IAAYL,QAAQ,qBAAmB,sPAKlG,oBACE,GAAM,cAAY,cAEpB,0RAEA,wBACE,oBAAIC,WAAW,MAAI,mEAErB,cAAC,IAAiB,CAACC,WAAW,EAAMC,SAAS,MAAMC,MAAOC,IAAYL,QAAQ,qBAAmB,4IAMjG,wBACE,oBAAIC,WAAW,MAAI,2DACnB,oBAAIA,WAAW,MAAI,iDACnB,oBAAIA,WAAW,MAAI,2FAA8F,4BAAYA,WAAW,MAAI,mBAAiC,eAC7K,oBAAIA,WAAW,MAAI,oDAAsD,4BAAYA,WAAW,MAAI,mBAAiC,iBAAkB,4BAAYA,WAAW,MAAI,gBAA8B,UAChN,oBAAIA,WAAW,MAAI,QAAU,4BAAYA,WAAW,MAAI,gBAA8B,+DAExF,qIACA,cAAC,IAAiB,CAACC,WAAW,EAAMC,SAAS,OAAOC,MAAOC,IAAYL,QAAQ,qBAAmB,8yBAUlG,iOACqE,mBAAGC,WAAW,IAC/E,KAAQ,0DAAwD,2BAEpE,oBACE,GAAM,SAAO,SAEf,wBACE,oBAAIA,WAAW,MAAI,sJAErB,oBACE,GAAM,4BAA0B,4BAElC,kYAGA,cAAC,IAAiB,CAACC,WAAW,EAAMC,SAAS,OAAOC,MAAOC,IAAYL,QAAQ,qBAAmB,mYAUrG,qLAEDH,EAAWS,gBAAiB,G,+DCtH5B,iFAqBAC,IAAKC,KAAKC,MAAQ,UACHF,MAAI","file":"static/js/documents-hook-hook-h-base.3097c568.js","sourcesContent":["\nimport React from 'react'\nimport { mdx } from '@mdx-js/react'\n\n/* @jsxRuntime classic */\n/* @jsx mdx */\nimport themen from 'theme/styles/styled-colors';\nimport * as theme from 'react-syntax-highlighter/dist/esm/styles/hljs';\nimport SyntaxHighlighter from 'react-syntax-highlighter';\n\n\nconst layoutProps = {\n \n};\nconst MDXLayout = \"wrapper\"\nexport default function MDXContent({\n components,\n ...props\n}) {\n return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n <h1 {...{\n \"id\": \"apache-atlas-hook--bridge-for-apache-hbase\"\n }}>{`Apache Atlas Hook & Bridge for Apache HBase`}</h1>\n <h2 {...{\n \"id\": \"hbase-model\"\n }}>{`HBase Model`}</h2>\n <p>{`HBase model includes the following types:`}</p>\n <ul>\n <li parentName=\"ul\">{`Entity types:`}\n <ul parentName=\"li\">\n <li parentName=\"ul\">{`hbase_namespace`}\n <ul parentName=\"li\">\n <li parentName=\"ul\">{`super-types: Asset`}</li>\n <li parentName=\"ul\">{`attributes: qualifiedName, name, description, owner, clusterName, parameters, createTime, modifiedTime`}</li>\n </ul>\n </li>\n <li parentName=\"ul\">{`hbase_table`}\n <ul parentName=\"li\">\n <li parentName=\"ul\">{`super-types: DataSet`}</li>\n <li parentName=\"ul\">{`attributes: qualifiedName, name, description, owner, namespace, column_families, uri, parameters, createtime, modifiedtime, maxfilesize, isReadOnly, isCompactionEnabled, isNormalizationEnabled, ReplicaPerRegion, Durability`}</li>\n </ul>\n </li>\n <li parentName=\"ul\">{`hbase_column_family`}\n <ul parentName=\"li\">\n <li parentName=\"ul\">{`super-types: DataSet`}</li>\n <li parentName=\"ul\">{`attributes: qualifiedName, name, description, owner, columns, createTime, bloomFilterType, compressionType, compactionCompressionType, encryptionType, inMemoryCompactionPolicy, keepDeletedCells, maxversions, minVersions, datablockEncoding, storagePolicy, ttl, blockCachedEnabled, cacheBloomsOnWrite, cacheDataOnWrite, evictBlocksOnClose, prefetchBlocksOnOpen, newVersionsBehavior, isMobEnabled, mobCompactPartitionPolicy`}</li>\n </ul>\n </li>\n </ul>\n </li>\n </ul>\n <p>{`HBase entities are created and de-duped in Atlas using unique attribute qualifiedName, whose value should be formatted as detailed below. Note that namespaceName, tableName and columnFamilyName should be in lower case.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"java\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`hbase_namespace.qualifiedName: <namespaceName>@<clusterName>\nhbase_table.qualifiedName: <namespaceName>:<tableName>@<clusterName>\nhbase_column_family.qualifiedName: <namespaceName>:<tableName>.<columnFamilyName>@<clusterName>`}\n </SyntaxHighlighter>\n <h2 {...{\n \"id\": \"hbase-hook\"\n }}>{`HBase Hook`}</h2>\n <p>{`Atlas HBase hook registers with HBase master as a co-processor. On detecting changes to HBase namespaces/tables/column-families, Atlas hook updates the metadata in Atlas via Kafka notifications.\nFollow the instructions below to setup Atlas hook in HBase:`}</p>\n <ul>\n <li parentName=\"ul\">{`Register Atlas hook in hbase-site.xml by adding the following:`}</li>\n </ul>\n <SyntaxHighlighter wrapLines={true} language=\"xml\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`<property>\n<name>hbase.coprocessor.master.classes</name>\n<value>org.apache.atlas.hbase.hook.HBaseAtlasCoprocessor</value>\n</property>`}\n </SyntaxHighlighter>\n <ul>\n <li parentName=\"ul\">{`untar apache-atlas-\\${project.version}-hbase-hook.tar.gz`}</li>\n <li parentName=\"ul\">{`cd apache-atlas-hbase-hook-\\${project.version}`}</li>\n <li parentName=\"ul\">{`Copy entire contents of folder apache-atlas-hbase-hook-\\${project.version}/hook/hbase to `}<inlineCode parentName=\"li\">{`<atlas package>`}</inlineCode>{`/hook/hbase`}</li>\n <li parentName=\"ul\">{`Link Atlas hook jars in HBase classpath - 'ln -s `}<inlineCode parentName=\"li\">{`<atlas package>`}</inlineCode>{`/hook/hbase/* `}<inlineCode parentName=\"li\">{`<hbase-home>`}</inlineCode>{`/lib/'`}</li>\n <li parentName=\"ul\">{`Copy `}<inlineCode parentName=\"li\">{`<atlas-conf>`}</inlineCode>{`/atlas-application.properties to the HBase conf directory.`}</li>\n </ul>\n <p>{`The following properties in atlas-application.properties control the thread pool and notification details:`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"java\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`atlas.hook.hbase.synchronous=false # whether to run the hook synchronously. false is recommended to avoid delays in HBase operations. Default: false\natlas.hook.hbase.numRetries=3 # number of retries for notification failure. Default: 3\natlas.hook.hbase.queueSize=10000 # queue size for the threadpool. Default: 10000\natlas.cluster.name=primary # clusterName to use in qualifiedName of entities. Default: primary\natlas.kafka.zookeeper.connect= # Zookeeper connect URL for Kafka. Example: localhost:2181\natlas.kafka.zookeeper.connection.timeout.ms=30000 # Zookeeper connection timeout. Default: 30000\natlas.kafka.zookeeper.session.timeout.ms=60000 # Zookeeper session timeout. Default: 60000\natlas.kafka.zookeeper.sync.time.ms=20 # Zookeeper sync time. Default: 20`}\n </SyntaxHighlighter>\n <p>{`Other configurations for Kafka notification producer can be specified by prefixing the configuration name with \"atlas.kafka.\".\nFor list of configuration supported by Kafka producer, please refer to `}<a parentName=\"p\" {...{\n \"href\": \"http://kafka.apache.org/documentation/#producerconfigs\"\n }}>{`Kafka Producer Configs`}</a></p>\n <h2 {...{\n \"id\": \"notes\"\n }}>{`NOTES`}</h2>\n <ul>\n <li parentName=\"ul\">{`Only the namespace, table and column-family create/update/delete operations are captured by Atlas HBase hook. Changes to columns are be captured.`}</li>\n </ul>\n <h2 {...{\n \"id\": \"importing-hbase-metadata\"\n }}>{`Importing HBase Metadata`}</h2>\n <p>{`Apache Atlas provides a command-line utility, import-hbase.sh, to import metadata of Apache HBase namespaces and tables into Apache Atlas.\nThis utility can be used to initialize Apache Atlas with namespaces/tables present in an Apache HBase cluster.\nThis utility supports importing metadata of a specific table, tables in a specific namespace or all tables.`}</p>\n <SyntaxHighlighter wrapLines={true} language=\"java\" style={theme.dark} mdxType=\"SyntaxHighlighter\">\n {`Usage 1: <atlas package>/hook-bin/import-hbase.sh\nUsage 2: <atlas package>/hook-bin/import-hbase.sh [-n <namespace regex> OR --namespace <namespace regex>] [-t <table regex> OR --table <table regex>]\nUsage 3: <atlas package>/hook-bin/import-hbase.sh [-f <filename>]\n File Format:\n namespace1:tbl1\n namespace1:tbl2\n namespace2:tbl1`}\n </SyntaxHighlighter>\n </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;","/**\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements. See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership. The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in compliance\n * with the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { dark } from \"react-syntax-highlighter/dist/esm/styles/hljs\";\n\n//dark[\"powershell\"][\"color\"] = \"#37bb9b\";\ndark.hljs.color = \"#37bb9b\";\nexport default dark;"],"sourceRoot":""}