CDH 6.3.2 集成 Apache Ranger 2.1.0 开启 Kerberos 认证

文档目录

架构图

  • Ranger 集成 Kerberos

在这里插入图片描述

  • CDH 集成 Ranger

在这里插入图片描述

节点分布

主机名IP 地址MySQL 版本MySQL 服务CDH 版本CDH 服务Kerberos 版本Kerberos 服务Ranger 版本Ranger 服务
cdh6-0110.10.10.1375.7.40MySQL Server6.3.2HS21.51.1KDC Server2.1.0Admin\Usersync
cdh6-0210.10.10.1386.3.2NN1.51.12.1.0
cdh6-0310.10.10.1396.3.2NN1.51.12.1.0

前提条件

  • 已完成 CDH 6.3.2 集成 Kerberos。具体步骤,可见文档:Linux 7.9 部署 KDC 1.15.1

  • 已完成 Ranger 2.1.0 For CDH 6.3.2 编译。具体操作步骤,可见文档:CDH 6.3.2 集成 Apache Ranger 2.1.0

  • 已使用 Ranger 所提供的 Solr 完成 Solr Standalone 部署。具体操作步骤,可见文档:CDH 6.3.2 集成 Apache Ranger 2.1.0

  • 已将 Ranger 编译后安装包存入 /data/ranger 目录下,名称为 ranger-release-ranger-2.1.0-cdh-6.3.2

  • 文档中所提及的 Kerberos 主体,密码都为:Passw0rd!

部署 Ranger Admin

在进行此步骤前,需确认已完成 Ranger 2.1.0 For CDH 6.3.2 编译、已在可使用的 MySQL 中创建数据库 ranger、已使用 Ranger 所提供的 Solr 完成 Solr Standalone 部署

1. 创建所需 Kerberos 主体和 keytab

Ranger 集成 Kerberos 的配置过程中,需要牵涉到 5 个服务主体是:

  • HTTP:用于执行服务间的通讯协议。若已完成 CDH 6.3.2 集成 Kerberos,则可直接查看到此主体
  • rangerusersync:Ranger Usersync 服务
  • rangerlookup:Ranger Lookup 服务
  • rangertagsync: Ranger Tagsync 服务

1 个用户主体是:

  • root:Ranger Admin 的启动用户。可为任何启动 Ranger Admin 的用户
  • 按节点分布,请在 cdh6-01 - 10.10.10.137 节点上完成如下操作:
# 登录 KDC Server
kadmin.local

# 创建主体
addprinc root/cdh6-01@CDHKRB.COM # 输入密码
addprinc rangeradmin/cdh6-01@CDHKRB.COM # 输入密码
addprinc rangerusersync/cdh6-01@CDHKRB.COM # 输入密码
addprinc rangerlookup/cdh6-01@CDHKRB.COM # 输入密码
addprinc rangertagsync/cdh6-01@CDHKRB.COM # 输入密码

# 将所有所需主体集合至一个 keytab 中
ktadd -kt /data/ranger/ranger-2.1.0-admin/rangeradmin.keytab HTTP/cdh6-01@CDHKRB.COM root/cdh6-01@CDHKRB.COM rangeradmin/cdh6-01@CDHKRB.COM rangerusersync/cdh6-01@CDHKRB.COM rangerlookup/cdh6-01@CDHKRB.COM rangertagsync/cdh6-01@CDHKRB.COM
  • 调整 keytab 权限
chmod 777 /data/ranger/ranger-2.1.0-admin/rangadmin.keytab
  • 检查 keytab 所包含主体
# 登录 KDC 管理工具
ktutil

# 加载指定 keytab
read_kt /data/ranger/ranger-2.1.0-admin/rangadmin.keytab

# 罗列指定 keytab 中的主体
list

# 输出结果
# 多个相同主体,主要由于不同的加密策略
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
   1    4                  HTTP/cdh6-01@CDHKRB.COM
   2    4                  HTTP/cdh6-01@CDHKRB.COM
   3    4                  HTTP/cdh6-01@CDHKRB.COM
   4    4                  HTTP/cdh6-01@CDHKRB.COM
   5    4                  HTTP/cdh6-01@CDHKRB.COM
   6    4                  HTTP/cdh6-01@CDHKRB.COM
   7    4                  HTTP/cdh6-01@CDHKRB.COM
   8    4                  HTTP/cdh6-01@CDHKRB.COM
   9    3                  root/cdh6-01@CDHKRB.COM
  10    3                  root/cdh6-01@CDHKRB.COM
  11    3                  root/cdh6-01@CDHKRB.COM
  12    3                  root/cdh6-01@CDHKRB.COM
  13    3                  root/cdh6-01@CDHKRB.COM
  14    3                  root/cdh6-01@CDHKRB.COM
  15    3                  root/cdh6-01@CDHKRB.COM
  16    3                  root/cdh6-01@CDHKRB.COM
  17    2           rangeradmin/cdh6-01@CDHKRB.COM
  18    2           rangeradmin/cdh6-01@CDHKRB.COM
  19    2           rangeradmin/cdh6-01@CDHKRB.COM
  20    2           rangeradmin/cdh6-01@CDHKRB.COM
  21    2           rangeradmin/cdh6-01@CDHKRB.COM
  22    2           rangeradmin/cdh6-01@CDHKRB.COM
  23    2           rangeradmin/cdh6-01@CDHKRB.COM
  24    2           rangeradmin/cdh6-01@CDHKRB.COM
  25    2          rangerlookup/cdh6-01@CDHKRB.COM
  26    2          rangerlookup/cdh6-01@CDHKRB.COM
  27    2          rangerlookup/cdh6-01@CDHKRB.COM
  28    2          rangerlookup/cdh6-01@CDHKRB.COM
  29    2          rangerlookup/cdh6-01@CDHKRB.COM
  30    2          rangerlookup/cdh6-01@CDHKRB.COM
  31    2          rangerlookup/cdh6-01@CDHKRB.COM
  32    2          rangerlookup/cdh6-01@CDHKRB.COM
  33    2         rangertagsync/cdh6-01@CDHKRB.COM
  34    2         rangertagsync/cdh6-01@CDHKRB.COM
  35    2         rangertagsync/cdh6-01@CDHKRB.COM
  36    2         rangertagsync/cdh6-01@CDHKRB.COM
  37    2         rangertagsync/cdh6-01@CDHKRB.COM
  38    2         rangertagsync/cdh6-01@CDHKRB.COM
  39    2         rangertagsync/cdh6-01@CDHKRB.COM
  40    2         rangertagsync/cdh6-01@CDHKRB.COM
  41    2        rangerusersync/cdh6-01@CDHKRB.COM
  42    2        rangerusersync/cdh6-01@CDHKRB.COM
  43    2        rangerusersync/cdh6-01@CDHKRB.COM
  44    2        rangerusersync/cdh6-01@CDHKRB.COM
  45    2        rangerusersync/cdh6-01@CDHKRB.COM
  46    2        rangerusersync/cdh6-01@CDHKRB.COM
  47    2        rangerusersync/cdh6-01@CDHKRB.COM
  48    2        rangerusersync/cdh6-01@CDHKRB.COM
  • 通过如下方式,检查所有主体是否能够完成认证
# 通过 kinit,使用指定 keytab 完成指定主体认证
kinit -kt /data/ranger/ranger-2.1.0-admin/rangadmin.keytab HTTP/cdh6-01@CDHKRB.COM

# 查看当前已认证主体
klist

# 输出结果
# 默认主体已更新为 HTTP/cdh6-01@CDHKRB.COM
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: HTTP/cdh6-01@CDHKRB.COM

Valid starting       Expires              Service principal
03/07/2024 16:08:30  03/08/2024 16:08:30  krbtgt/CDHKRB.COM@CDHKRB.COM

2. 安装服务

  • 按节点分布,请在 cdh6-01 - 10.10.10.137 节点上完成如下操作:
2.1 解压安装包
tar -xf /data/ranger/ranger-release-ranger-2.1.0-cdh-6.3.2/target/ranger-2.1.0-admin.tar.gz -C /data/ranger
2.2 备份配置文件
cp /data/ranger/ranger-2.1.0-admin/install.properties /data/ranger/ranger-2.1.0-admin/install.properties.orig
2.3 调整配置文件
cat > /data/ranger/ranger-2.1.0-admin/install.properties << EOF
PYTHON_COMMAND_INVOKER=python
DB_FLAVOR=MYSQL

# 需在此目录下存有 mysql-connector-java.jar
SQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar

# 需能够通过如下参数连接 MySQL
db_root_user=root
db_root_password=Passw0rd!
db_host=10.10.10.137

db_ssl_enabled=false
db_ssl_required=false
db_ssl_verifyServerCertificate=false
db_ssl_auth_type=2-way
javax_net_ssl_keyStore=
javax_net_ssl_keyStorePassword=
javax_net_ssl_trustStore=
javax_net_ssl_trustStorePassword=

# 指定 Ranger 所使用数据库名称及登陆方式
db_name=ranger
db_user=root
db_password=Passw0rd!

# 指定 Ranger 内部用户密码
rangerAdmin_password=Passw0rd!
rangerTagsync_password=Passw0rd!
rangerUsersync_password=Passw0rd!
keyadmin_password=Passw0rd!

# 指定使用 solr 存储审计信息
audit_store=solr

audit_elasticsearch_urls=
audit_elasticsearch_port=
audit_elasticsearch_protocol=
audit_elasticsearch_user=
audit_elasticsearch_password=
audit_elasticsearch_index=
audit_elasticsearch_bootstrap_enabled=true

# 此部分为 Solr 配置。需与所部署 Sorl 服务保持一致
audit_solr_urls=http://10.10.10.137:6083/solr/ranger_audits
audit_solr_user=solr
audit_solr_password=
audit_solr_zookeepers=
audit_solr_collection_name=ranger_audits
audit_solr_config_name=ranger_audits
audit_solr_no_shards=1
audit_solr_no_replica=1
audit_solr_max_shards_per_node=1
audit_solr_acl_user_list_sasl=solr,infra-solr
audit_solr_bootstrap_enabled=true

policymgr_external_url=http://10.10.10.137:6080
policymgr_http_enabled=true
policymgr_https_keystore_file=
policymgr_https_keystore_keyalias=rangeradmin
policymgr_https_keystore_password=
policymgr_supportedcomponents=
unix_user=ranger
unix_user_pwd=ranger
unix_group=ranger
authentication_method=NONE
remoteLoginEnabled=true
authServiceHostName=localhost
authServicePort=5151
ranger_unixauth_keystore=keystore.jks
ranger_unixauth_keystore_password=password
ranger_unixauth_truststore=cacerts
ranger_unixauth_truststore_password=changeit
xa_ldap_url=
xa_ldap_userDNpattern=
xa_ldap_groupSearchBase=
xa_ldap_groupSearchFilter=
xa_ldap_groupRoleAttribute=
xa_ldap_base_dn=
xa_ldap_bind_dn=
xa_ldap_bind_password=
xa_ldap_referral=
xa_ldap_userSearchFilter=
xa_ldap_ad_domain=
xa_ldap_ad_url=
xa_ldap_ad_base_dn=
xa_ldap_ad_bind_dn=
xa_ldap_ad_bind_password=
xa_ldap_ad_referral=
xa_ldap_ad_userSearchFilter=

# 此部分为 Kerberos 配置。需与所创建主体一一对应
spnego_principal=HTTP/cdh6-01@CDHKRB.COM
spnego_keytab=/data/ranger/ranger-2.1.0-admin/rangeradmin.keytab
token_valid=30
cookie_domain=cdh6-01
cookie_path=/
admin_principal=rangeradmin/cdh6-01@CDHKRB.COM
admin_keytab=/data/ranger/ranger-2.1.0-admin/rangeradmin.keytab
lookup_principal=rangerlookup/cdh6-01@CDHKRB.COM
lookup_keytab=/data/ranger/ranger-2.1.0-admin/rangeradmin.keytab

hadoop_conf=/etc/hadoop/conf
sso_enabled=false
sso_providerurl=https://127.0.0.1:8443/gateway/knoxsso/api/v1/websso
sso_publickey=
RANGER_ADMIN_LOG_DIR=$PWD
RANGER_PID_DIR_PATH=/var/run/ranger
XAPOLICYMGR_DIR=$PWD
app_home=$PWD/ews/webapp
TMPFILE=$PWD/.fi_tmp
LOGFILE=$PWD/logfile
LOGFILES="$LOGFILE"
JAVA_BIN='java'
JAVA_VERSION_REQUIRED='1.8'
JAVA_ORACLE='Java(TM) SE Runtime Environment'
ranger_admin_max_heap_size=1g
PATCH_RETRY_INTERVAL=120
STALE_PATCH_ENTRY_HOLD_TIME=10
mysql_core_file=db/mysql/optimized/current/ranger_core_db_mysql.sql
mysql_audit_file=db/mysql/xa_audit_db.sql
oracle_core_file=db/oracle/optimized/current/ranger_core_db_oracle.sql
oracle_audit_file=db/oracle/xa_audit_db_oracle.sql
postgres_core_file=db/postgres/optimized/current/ranger_core_db_postgres.sql
postgres_audit_file=db/postgres/xa_audit_db_postgres.sql
sqlserver_core_file=db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql
sqlserver_audit_file=db/sqlserver/xa_audit_db_sqlserver.sql
sqlanywhere_core_file=db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
sqlanywhere_audit_file=db/sqlanywhere/xa_audit_db_sqlanywhere.sql
cred_keystore_filename=$app_home/WEB-INF/classes/conf/.jceks/rangeradmin.jceks
EOF
2.4 安装服务
sh /data/ranger/ranger-2.1.0-admin/setup.sh
2.5 删除非兼容 jar 包
rm -rf /data/ranger/ranger-2.1.0-admin/ews/webapp/WEB-INF/lib/javax.ws.rs-api-2.1.jar /data/ranger/ranger-2.1.0-admin/ews/webapp/WEB-INF/lib/jersey-client-2.6.jar /data/ranger/ranger-2.1.0-admin/ews/webapp/WEB-INF/lib/jersey-server-2.27.jar
2.6 启动服务
sh /data/ranger/ranger-2.1.0-admin/ews/ranger-admin-services.sh start

3. 验证 Ranger Admin

在这里插入图片描述

部署 Ranger Usersync

  • 按节点分布,请在 cdh6-01 - 10.10.10.137 节点上完成如下操作:

1 解压安装包

tar -zxf /data/ranger/ranger-release-ranger-2.1.0-cdh-6.3.2/target/ranger-2.1.0-usersync.tar.gz -C /data/ranger

2 备份配置文件

cp /data/ranger/ranger-2.1.0-usersync/install.properties /data/ranger/ranger-2.1.0-usersync/install.properties.orig

3 调整配置文件

cat > /data/ranger/ranger-2.1.0-usersync/install.properties << EOF
ranger_base_dir = /etc/ranger

# 指定 Ranger Admin 地址。此处必须为主机名,否则无法完成 Kerberos 认证
POLICY_MGR_URL = http://cdh6-01:6080

SYNC_SOURCE = unix
MIN_UNIX_USER_ID_TO_SYNC = 500
MIN_UNIX_GROUP_ID_TO_SYNC = 500
SYNC_INTERVAL = 1
unix_user=ranger
unix_group=ranger

# 需与 Ranger Admin 的 install.properties 配置保持一致
rangerUsersync_password=Passw0rd!

# 此部分为 Kerberos 配置。需与所创建主体一一对应
usersync_principal=rangerusersync/cdh6-01@CDHKRB.COM
usersync_keytab=/data/ranger/ranger-2.1.0-admin/rangeradmin.keytab

hadoop_conf=/etc/hadoop/conf
CRED_KEYSTORE_FILENAME=/etc/ranger/usersync/conf/rangerusersync.jceks
AUTH_SSL_ENABLED=false
AUTH_SSL_KEYSTORE_FILE=/etc/ranger/usersync/conf/cert/unixauthservice.jks
AUTH_SSL_KEYSTORE_PASSWORD=UnIx529p
AUTH_SSL_TRUSTSTORE_FILE=
AUTH_SSL_TRUSTSTORE_PASSWORD=
ROLE_ASSIGNMENT_LIST_DELIMITER = &
USERS_GROUPS_ASSIGNMENT_LIST_DELIMITER = :
USERNAME_GROUPNAME_ASSIGNMENT_LIST_DELIMITER = ,
GROUP_BASED_ROLE_ASSIGNMENT_RULES =
SYNC_LDAP_URL =
SYNC_LDAP_BIND_DN =
SYNC_LDAP_BIND_PASSWORD =
SYNC_LDAP_DELTASYNC =
SYNC_LDAP_SEARCH_BASE =
SYNC_LDAP_USER_SEARCH_BASE =
SYNC_LDAP_USER_SEARCH_SCOPE = sub
SYNC_LDAP_USER_OBJECT_CLASS = person
SYNC_LDAP_USER_SEARCH_FILTER =
SYNC_LDAP_USER_NAME_ATTRIBUTE = cn
SYNC_LDAP_USER_GROUP_NAME_ATTRIBUTE = memberof,ismemberof
SYNC_LDAP_USERNAME_CASE_CONVERSION=lower
SYNC_LDAP_GROUPNAME_CASE_CONVERSION=lower
logdir=logs
USERSYNC_PID_DIR_PATH=/var/run/ranger
SYNC_GROUP_SEARCH_ENABLED=
SYNC_GROUP_USER_MAP_SYNC_ENABLED=
SYNC_GROUP_SEARCH_BASE=
SYNC_GROUP_SEARCH_SCOPE=
SYNC_GROUP_OBJECT_CLASS=
SYNC_LDAP_GROUP_SEARCH_FILTER=
SYNC_GROUP_NAME_ATTRIBUTE=
SYNC_GROUP_MEMBER_ATTRIBUTE_NAME=
SYNC_PAGED_RESULTS_ENABLED=
SYNC_PAGED_RESULTS_SIZE=
SYNC_LDAP_REFERRAL =ignore
JVM_METRICS_ENABLED=
JVM_METRICS_FILENAME=
JVM_METRICS_FILEPATH=
JVM_METRICS_FREQUENCY_TIME_IN_MILLIS=
EOF

4 安装服务

sh /data/ranger/ranger-2.1.0-usersync/setup.sh

5 备份配置文件

cp /data/ranger/ranger-2.1.0-usersync/conf/ranger-ugsync-site.xml /data/ranger/ranger-2.1.0-usersync/conf/ranger-ugsync-site.xml.orig

6 调整配置文件

<!-- 开启 UserSync 功能 -->
<property>
  <name>ranger.usersync.enabled</name>
  <value>true</value>
</property>

7 启动服务

sh /data/ranger/ranger-2.1.0-usersync/ranger-usersync-services.sh start

8. 验证服务

  • 通过网页查看用户信息,会发现大量本地用户被同步至 Ranger 中

在这里插入图片描述

部署 HDFS Plugin

  • HDFS 的 Ranger 插件需要安装在所有的 NameNode 节点上

  • 按节点分布,请在 cdh6-02 - 10.10.10.138 和 cdh6-03 - 10.10.10.139 节点上完成如下操作:

1. 安装 HDFS Plugin

1.1 解压安装包
tar -zxf /data/ranger/ranger-release-ranger-2.1.0-cdh-6.3.2/target/ranger-2.1.0-hdfs-plugin.tar.gz -C /data/ranger 
1.2 调整 HDFS jar 包和配置文件

通过软链接的方式,进一步保证 HDFS 在每次启动时,能够获取到所需的 jar 包和配置文件

  • 创建 HDFS Plugin 存放 jar 包路径
mkdir -p /data/ranger/ranger-2.1.0-hdfs-plugin/hadoop/etc
  • 将 Hadoop 所有 jar 包,软链接至 HDFS Plugin 中
ln -s /opt/cloudera/parcels/CDH/lib/hadoop/*.jar /data/ranger/ranger-2.1.0-hdfs-plugin/hadoop
ln -s /opt/cloudera/parcels/CDH/lib/hadoop/lib/*.jar /data/ranger/ranger-2.1.0-hdfs-plugin/hadoop
ln -s /opt/cloudera/parcels/CDH/lib/hadoop/etc/hadoop /data/ranger/ranger-2.1.0-hdfs-plugin/hadoop/etc/hadoop
  • 将 HDFS Plugin 所有 jar 包,软链接至 Hadoop 中
ln -s /data/ranger/ranger-2.1.0-hdfs-plugin/lib/*.jar /opt/cloudera/parcels/CDH/lib/hadoop/lib
ln -s /data/ranger/ranger-2.1.0-hdfs-plugin/lib/ranger-hdfs-plugin-impl /opt/cloudera/parcels/CDH/lib/hadoop/lib
1.3 备份配置文件
cp /data/ranger/ranger-2.1.0-hdfs-plugin/install.properties /data/ranger/ranger-2.1.0-hdfs-plugin/install.properties.orig
1.4 调整配置文件
cat > install.properties <<EOF
# 指定 Ranger Admin 地址。此处必须为主机名,否则无法完成 Kerberos 认证
POLICY_MGR_URL=http://cdh6-01:6080

# 指定插件名称
REPOSITORY_NAME=cdh6_hdfs

# 指定服务路径
COMPONENT_INSTALL_DIR_NAME=/data/ranger/ranger-2.1.0-hdfs-plugin/hadoop

# 此部分为 Solr 配置。需与所部署 Sorl 服务保持一致
XAAUDIT.SOLR.ENABLE=ture
XAAUDIT.SOLR.URL=http://10.10.10.137:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=NONE
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hdfs/audit/solr/spool

XAAUDIT.ELASTICSEARCH.ENABLE=false
XAAUDIT.ELASTICSEARCH.URL=NONE
XAAUDIT.ELASTICSEARCH.USER=NONE
XAAUDIT.ELASTICSEARCH.PASSWORD=NONE
XAAUDIT.ELASTICSEARCH.INDEX=NONE
XAAUDIT.ELASTICSEARCH.PORT=NONE
XAAUDIT.ELASTICSEARCH.PROTOCOL=NONE
XAAUDIT.HDFS.ENABLE=false
XAAUDIT.HDFS.HDFS_DIR=hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit
XAAUDIT.HDFS.FILE_SPOOL_DIR=/var/log/hadoop/hdfs/audit/hdfs/spool
XAAUDIT.HDFS.AZURE_ACCOUNTNAME=__REPLACE_AZURE_ACCOUNT_NAME
XAAUDIT.HDFS.AZURE_ACCOUNTKEY=__REPLACE_AZURE_ACCOUNT_KEY
XAAUDIT.HDFS.AZURE_SHELL_KEY_PROVIDER=__REPLACE_AZURE_SHELL_KEY_PROVIDER
XAAUDIT.HDFS.AZURE_ACCOUNTKEY_PROVIDER=__REPLACE_AZURE_ACCOUNT_KEY_PROVIDER
XAAUDIT.LOG4J.ENABLE=false
XAAUDIT.LOG4J.IS_ASYNC=false
XAAUDIT.LOG4J.ASYNC.MAX.QUEUE.SIZE=10240
XAAUDIT.LOG4J.ASYNC.MAX.FLUSH.INTERVAL.MS=30000
XAAUDIT.LOG4J.DESTINATION.LOG4J=true
XAAUDIT.LOG4J.DESTINATION.LOG4J.LOGGER=xaaudit
XAAUDIT.HDFS.IS_ENABLED=false
XAAUDIT.HDFS.DESTINATION_DIRECTORY=hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%
XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY=__REPLACE__LOG_DIR/hadoop/%app-type%/audit
XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY=__REPLACE__LOG_DIR/hadoop/%app-type%/audit/archive
XAAUDIT.HDFS.DESTINTATION_FILE=%hostname%-audit.log
XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS=900
XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS=86400
XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS=60
XAAUDIT.HDFS.LOCAL_BUFFER_FILE=%time:yyyyMMdd-HHmm.ss%.log
XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS=60
XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS=600
XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT=10
XAAUDIT.SOLR.IS_ENABLED=false
XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
SSL_KEYSTORE_FILE_PATH=/etc/hadoop/conf/ranger-plugin-keystore.jks
SSL_KEYSTORE_PASSWORD=myKeyFilePassword
SSL_TRUSTSTORE_FILE_PATH=/etc/hadoop/conf/ranger-plugin-truststore.jks
SSL_TRUSTSTORE_PASSWORD=changeit
CUSTOM_USER=hdfs
CUSTOM_GROUP=hadoop
EOF
1.5 创建配置文件

创建此配置文件主要用于 Ranger Plugin 访问数据库 ranger

而在实际使用中发现,只需要保证数据库信息正确即可,用户名和密码对于插件本身无任何影响

cat > /data/ranger/ranger-2.1.0-hdfs-plugin/hadoop/etc/hadoop/xasecure-audit.xml << EOF
<!-- MySQL 的连接地址及端口号,须与 Ranger Admin 中 install.properties 配置相同 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.url</name>
  <value>jdbc:mysql://10.10.10.137:3306/ranger</value>
</property>

<!-- 指定所使用用户 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.user</name>
  <value>ranger</value>
</property>

<!-- 指定用户密码 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.password</name>
  <value>Ranger2.1</value>
</property>
EOF
1.6 启动服务
sh /data/ranger/ranger-2.1.0-hdfs-plugin/enable-hdfs-plugin.sh

2. 调整 HDFS 配置文件

<property>
    <name>dfs.permissions</name>
    <value>true</value>
</property>

<property>
    <name>dfs.namenode.acls.enabled</name>
    <value>true</value>
</property>

<property>
    <name>dfs.namenode.inode.attributes.provider.class</name>
    <value>org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer</value>
    <description>ranger</description>
</property

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 重启 HDFS

4. 检查 HDFS

ll /etc/ranger/cdh6_hdfs/policycache/

# 输出结果
-rw-r--r-- 1 hdfs hdfs 12764 Mar  7 18:18 hdfs_cdh6_hdfs.json
-rw-r--r-- 1 hdfs hdfs   107 Mar  7 17:43 hdfs_cdh6_hdfs_roles.json

5. 关联 Ranger Admin

  • 创建 HDFS 服务后,按如下信息填写:
  • Service Name: cdh6_hdfs
  • Display Name: cdh6_hdfs
  • Active Status: Enabeld
  • Username: admin
  • Password: Passw0rd!
  • NameNode URL: hdfs://cdh6-03:8020,hdfs://cdh6-02:8020
  • Authorization Enabled: Yes
  • Authentication Type: Kerberos
  • hadoop.security.auth_to_local: DEFAULT
  • dfs.datanode.kerberos.principal: hdfs/_HOST@CDHKRB.COM
  • dfs.namenode.kerberos.principal: hdfs/_HOST@CDHKRB.COM
  • RPC Protection Type: Authentication
  • Add New Configurations: policy.download.auth.users = hdfs
  • Service Name 需与 HDFS Plugin 中 install.properties 的 REPOSITORY_NAME 参数保持一致
  • Username 和 Password 虽为必填项,但并不影响关联。可随意填写
  • 此处的 NameNode URL 填写方式为 HA 模式。若不是 HA 模式,只需配置 NameNode 即可。建议在集成 Kerberos 后,使用主机名配置
  • hadoop.security.auth_to_local 参数须于 HDFS 的 core-site.xml 配置相同
  • dfs.datanode.kerberos.principal、dfs.namenode.kerberos.principal 和 dfs.secondary.namenode.kerberos.principal 参数须于 HDFS 的 hdfs-site.xml 配置相同

在这里插入图片描述

  • Test Connection 测试连通性

在这里插入图片描述

6. 验证服务

6.1 创建测试用户

由于在部署 Usersync 服务之前,节点上已建有 test 账户,所以已被同步至 Ranger Admin。此处直接使用此用户进行验证

若需重新创建普通用户进行验证,需保证 Ranger Admin 和发起命令的节点上包含相同用户,而不需要所有节点都包含此用户

在这里插入图片描述

6.2 查看权限

配置完成后的初始状态,所有用户都能够访问 HDFS

# 通过 kinit,使用指定用户主体认证
kinit test@CDHKRB.COM

# 查看是否含有 HDFS 权限
hdfs dfs -ls /

# 输出结果
# test 用户能够正常访问 HDFS
drwxr-xr-x   - hbase hbase               0 2023-11-21 15:12 /hbase
drwxrwxr-x   - solr  solr                0 2023-09-25 13:59 /solr
drwxr-xr-x   - hdfs  supergroup          0 2023-05-30 11:46 /test1
drwxr-xr-x   - hdfs  supergroup          0 2023-05-30 11:46 /test2
drwxr-xr-x   - hdfs  supergroup          0 2023-05-30 11:46 /test3
drwxrwxrwt   - hdfs  supergroup          0 2023-11-27 17:04 /tmp
drwxrwxrwx   - hdfs  supergroup          0 2023-11-27 16:15 /user
6.3 调整权限
  • 通过 禁用其它任何用户 的方式,限制 test 用户访问 HDFS 的权限

在这里插入图片描述

6.4 查看权限

Ranger 配置权限后,会有短暂的生效过程。建议等待 3-5 秒

  • 发现 test 用户已无操作 HDFS 的权限。与 Ranger 所配置的权限保持一致
# 通过 kinit,使用指定用户主体认证
kinit test@CDHKRB.COM

# 查看是否含有 HDFS 权限
hdfs dfs -ls /

# 输出结果
ls: Permission denied: user=test, access=EXECUTE, inode="/"

部署 Hive Plugin

  • Hive 的 Ranger 插件需要安装在所有的 HiveServer2 节点上

  • 在 cdh6-01 - 10.10.10.137 节点上,进行如下操作

1. 安装 Hive Plugin

1.1 解压安装包
tar -zxf /data/ranger/ranger-release-ranger-2.1.0-cdh-6.3.2/target/ranger-2.1.0-hive-plugin.tar.gz -C /data/ranger
1.2 备份配置文件
cp /data/ranger/ranger-2.1.0-hive-plugin/install.properties /data/ranger/ranger-2.1.0-hive-plugin/install.properties.orig
cp /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh.orig
1.3 调整配置文件
  • /data/ranger/ranger-2.1.0-hive-plugin/install.properties
cat > /data/ranger/ranger-2.1.0-hive-plugin/install.properties << EOF
# 此处必须为主机名,否则无法完成 Kerberos 认证
POLICY_MGR_URL=http://cdh6-01:6080

# 指定插件名称
REPOSITORY_NAME=cdh6_hive

# 指定服务路径
COMPONENT_INSTALL_DIR_NAME=/opt/cloudera/parcels/CDH/lib/hive

# 此部分为 Solr 配置。需与所部署 Sorl 服务保持一致
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://10.10.10.137:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=NONE
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hive/audit/solr/spool

XAAUDIT.HDFS.ENABLE=false
XAAUDIT.HDFS.HDFS_DIR=hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit
XAAUDIT.HDFS.FILE_SPOOL_DIR=/var/log/hive/audit/hdfs/spool
XAAUDIT.HDFS.AZURE_ACCOUNTNAME=__REPLACE_AZURE_ACCOUNT_NAME
XAAUDIT.HDFS.AZURE_ACCOUNTKEY=__REPLACE_AZURE_ACCOUNT_KEY
XAAUDIT.HDFS.AZURE_SHELL_KEY_PROVIDER=__REPLACE_AZURE_SHELL_KEY_PROVIDER
XAAUDIT.HDFS.AZURE_ACCOUNTKEY_PROVIDER=__REPLACE_AZURE_ACCOUNT_KEY_PROVIDER
XAAUDIT.HDFS.IS_ENABLED=false
XAAUDIT.HDFS.DESTINATION_DIRECTORY=hdfs://__REPLACE__NAME_NODE_HOST:8020/ranger/audit/%app-type%/%time:yyyyMMdd%
XAAUDIT.HDFS.LOCAL_BUFFER_DIRECTORY=__REPLACE__LOG_DIR/hive/audit/%app-type%
XAAUDIT.HDFS.LOCAL_ARCHIVE_DIRECTORY=__REPLACE__LOG_DIR/hive/audit/archive/%app-type%
XAAUDIT.HDFS.DESTINTATION_FILE=%hostname%-audit.log
XAAUDIT.HDFS.DESTINTATION_FLUSH_INTERVAL_SECONDS=900
XAAUDIT.HDFS.DESTINTATION_ROLLOVER_INTERVAL_SECONDS=86400
XAAUDIT.HDFS.DESTINTATION_OPEN_RETRY_INTERVAL_SECONDS=60
XAAUDIT.HDFS.LOCAL_BUFFER_FILE=%time:yyyyMMdd-HHmm.ss%.log
XAAUDIT.HDFS.LOCAL_BUFFER_FLUSH_INTERVAL_SECONDS=60
XAAUDIT.HDFS.LOCAL_BUFFER_ROLLOVER_INTERVAL_SECONDS=600
XAAUDIT.HDFS.LOCAL_ARCHIVE_MAX_FILE_COUNT=10
XAAUDIT.SOLR.IS_ENABLED=false
XAAUDIT.SOLR.MAX_QUEUE_SIZE=1
XAAUDIT.SOLR.MAX_FLUSH_INTERVAL_MS=1000
XAAUDIT.SOLR.SOLR_URL=http://localhost:6083/solr/ranger_audits
SSL_KEYSTORE_FILE_PATH=/etc/hive/conf/ranger-plugin-keystore.jks
SSL_KEYSTORE_PASSWORD=myKeyFilePassword
SSL_TRUSTSTORE_FILE_PATH=/etc/hive/conf/ranger-plugin-truststore.jks
SSL_TRUSTSTORE_PASSWORD=changeit
UPDATE_XAPOLICIES_ON_GRANT_REVOKE=true
CUSTOM_USER=hive
CUSTOM_GROUP=hadoop
EOF
  • /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh

  • 注释变量 HIVE_OPTS,以防止通过 beeline 连接 Hive 时,产生异常

sed -i '/^export HIVE_OPTS/ s/^/# /' /opt/cloudera/parcels/CDH/lib/hive/conf/hive-env.sh
1.4 创建配置文件
cat > /data/ranger/ranger-2.1.0-hive-plugin/install/conf.templates/enable/xasecure-audit.xml << EOF
<!-- MySQL 的连接地址及端口号,须与 Ranger Admin 中 install.properties 配置相同 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.url</name>
  <value>jdbc:mysql://10.10.10.137:3306/ranger</value>
</property>

<!-- 指定所使用用户 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.user</name>
  <value>ranger</value>
</property>

<!-- 指定用户密码 -->
<property>
  <name>xasecure.audit.jpa.javax.persistence.jdbc.password</name>
  <value>Ranger2.1</value>
</property>
EOF
1.5 启动服务
sh /data/ranger/ranger-2.1.0-hive-plugin/enable-hive-plugin.sh

2. 检查状态

  • 检查 Hive 配置目录。确认已包含 Ranger 配置文件及所创建 xasecure-audit.xml
ll /opt/cloudera/parcels/CDH/lib/hive/conf/ | grep -E "ranger|xasecure"

# 输出结果
-rwxr--r-- 1 hive hadoop 9575 Mar  8 13:58 ranger-hive-audit.xml
-rwxr--r-- 1 hive hadoop 2905 Mar  8 13:58 ranger-hive-security.xml
-rwxr--r-- 1 hive hadoop 1910 Mar  8 13:58 ranger-policymgr-ssl.xml
-rw-r--r-- 1 hive hadoop   69 Mar  8 13:58 ranger-security.xml
-rw-r--r-- 1 hive hadoop  364 Mar  8 13:58 xasecure-audit.xml
  • 检查 Hive lib 目录。确认已包含 Ranger 相关 jar 包
ll /opt/cloudera/parcels/CDH/lib/hive/lib/ | grep ranger

# 输出结果
lrwxrwxrwx 1 root root    65 Mar  8 13:58 ranger-hive-plugin-impl -> /data/ranger/ranger-2.1.0-hive-plugin/lib/ranger-hive-plugin-impl
lrwxrwxrwx 1 root root    75 Mar  8 13:58 ranger-hive-plugin-shim-2.1.0.jar -> /data/ranger/ranger-2.1.0-hive-plugin/lib/ranger-hive-plugin-shim-2.1.0.jar
lrwxrwxrwx 1 root root    77 Mar  8 13:58 ranger-plugin-classloader-2.1.0.jar -> /data/ranger/ranger-2.1.0-hive-plugin/lib/ranger-plugin-classloader-2.1.0.jar

3. 调整 Hive 配置文件

<property>
    <name>hive.security.authenticator.manager</name>
    <value>
      org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator
    </value>
    <description>ranger</description>
</property>

<property>
    <name>hive.security.authorization.manager</name>
    <value>
      org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory
    </value>
    <description>ranger</description>
</property>

<property>
    <name>hive.security.authorization.enabled</name>
    <value>true</value>
    <description>ranger</description>
</property>

<property>
    <name>hive.conf.restricted.list</name>
    <value>
        hive.security.authorization.enabled,hive.security.authorization.manager,hive.security.authenticator.manager
    </value>
    <description>ranger</description>
</property>

在这里插入图片描述

4. 重启 Hive

5. 检查 Hive

ll /etc/ranger/cdh6_hive/policycache/

# 输出结果
-rwxrwxrwx 1 hive hive 10287 Mar  8 14:22 hiveServer2_cdh6_hive.json
-rwxrwxrwx 1 hive hive   108 Mar  8 14:20 hiveServer2_cdh6_hive_roles.json

6. 关联 Ranger Admin

6.1 提升 Hive 用户权限

开启 Kerberos 后,Hive 需要通过指定用户进行策略下载。而此用户需满足如下两个条件:

  • 该用户为 Hive 服务启动用户
  • 该用户为 Rander Admin 的管理员级用户

CDH 的 Hive 服务,是由 Hive 用户启动。而在运行 Usersync 服务时,已将节点上的 Hive 用户同步至 Ranger Admin 中,所以需要将 Ranger Admin 中的 Hive 用户权限提升至 Admin

在这里插入图片描述

6.2 创建 Hive 服务
  • 创建 Hive 服务后,按如下信息填写:
  • Service Name: cdh6_hive
  • Display Name: cdh6_hive
  • Active Status: Enabeld
  • Username: test
  • Password: Passw0rd!
  • jdbc.driverClassName: org.apache.hive.jdbc.HiveDriver
  • jdbc.url: jdbc:hive2://cdh6-01:10000/;principal=hive/_HOSTNAME@CDHKRB.COM
  • Add New Configurations: policy.download.auth.users = hive
  • Service Name 需与 Hive Plugin 中 install.properties 的 REPOSITORY_NAME 参数保持一致
  • Username 和 Password 虽为必填项,但并不影响关联。可随意填写
  • jdbc.url 后缀的 Kerberos 主体需与 Hive 配置文件 hive-site.xml 中的参数 hive.server2.authentication.kerberos.principal 保持一致
  • policy.download.auth.users 需是上述提权的用户 Hive。用于将权限从 Ranger 中下载至 HiveServer2

在这里插入图片描述

6.3 调整策略

Ranger Admin 通过内部用户 rangerlookup 将 Hive 的表信息导入 Ranger 中,所以 rangerlookup 用户需要有 Hive 的所有权限

  • 通过下述方式,为 rangerlookup 用户提供 Hive 的所有权限

在这里插入图片描述

6.4 测试连通性
  • 再次会回退至配置 Hive 服务界面,通过 Test Connection 测试连通性

在这里插入图片描述

7. 验证服务

  • 由于在上述测试 HDFS 时,已创建测试用户 test,所以此处直接复用 test 用户进行测试
7.1 查看权限

配置完成后的初始状态,所有用户都不能访问 Hive

# 通过 kinit,使用指定用户主体认证
kinit test@CDHKRB.COM

# 通过 beeline 连接 hive
beeline -u "jdbc:hive2://cdh6-01:10000/default;principal=hive/cdh6-01@CDHKRB.COM"

# 查看数据库
show databases;

# 输出结果
Error: Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [test] does not have [USE] privilege on [*] (state=42000,code=40000)
7.2 调整权限
  • 通过与上述为 rangerlookup 用户授权相同的方式,为 test 用户授权

在这里插入图片描述

7.3 查看权限

Ranger 配置权限后,会有短暂的生效过程。建议等待 3-5 秒

  • 发现 test 用户已有操作 Hive 的权限。与 Ranger 所配置的权限保持一致
# 通过 kinit,使用指定用户主体认证
kinit test@CDHKRB.COM

# 通过 beeline 连接 hive
beeline -u "jdbc:hive2://cdh6-01:10000/default;principal=hive/cdh6-01@CDHKRB.COM"

# 查看数据库
show databases;

# 输出结果
+----------------+
| database_name  |
+----------------+
| default        |
| test           |
+----------------+

附录

关闭认证功能

可通过调整源码的方式,关闭 Ranger 的所有认证功能。需要注意的是:目前的测试结果较为有限,无法完全了解更改后可能存在的问题。不建议在生产环境中使用。目前只能确定在 AD + CDH 的架构下,能够使 Hive Plugin 在不配置 Kerberos 的情况下完成权限管理

  • 调整源码文件:/data/ranger/ranger-release-ranger-2.1.0-cdh-6.3.2/agents-common/src/main/java/org/apache/ranger/admin/client/RangerAdminRESTClient.java
# 在第 57 行后,添加如下变量
private Boolean isSecure;

# 在第 102 行后,添加如下赋值
isSecure = config.getBoolean("ranger.admin.isSecure", false);

# 将第 136 行,改为如下赋值
final boolean isSecureMode = user != null && UserGroupInformation.isSecurityEnabled() && isSecure;

# 将第 216 行,改为如下赋值
final boolean isSecureMode = user != null && UserGroupInformation.isSecurityEnabled() && isSecure;

# 将第 926 行,改为如下赋值
final boolean isSecureMode = user != null && UserGroupInformation.isSecurityEnabled() && isSecure;
  • 重新编译
  • 替换原先编译所获取的 ranger-2.1.0-hive-plugin 下的 /data/ranger/ranger-2.1.0-hive-plugin/lib/ranger-hive-plugin-impl/ranger-plugins-common-2.1.0.jar
  • 23
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 为了在CDH 6.3.2中集成Apache Atlas 2.1.0,需要按照以下步骤进行操作: 1. 准备工作: - 确保CDH集群已经安装和配置成功,并且可正常运行。 - 下载并解压Apache Atlas 2.1.0安装包,并将其上传到CDH集群的某一台主机上。 2. 配置Atlas: - 进入Atlas安装包的目录,编辑conf/atlas-env.sh文件,设置ATLAS_HOME和ATLAS_LOG_DIR变量。 - 编辑conf/atlas-application.properties文件,设置配置选项,如atlas.graph.index.search.backend=lucene和atlas.audit.hbase.tablename=ATLAS_HOOK。 - 如果需要使用LDAP进行用户身份验证,编辑conf/atlas-application.properties,设置atlas.authentication.method=LDAP,并配置相关的LDAP连接参数。 3. 配置Hadoop集成: - 进入CDH的HDFS配置目录,例如/etc/hadoop/conf.cloudera.hdfs/。 - 编辑hdfs-site.xml文件,在其中添加以下配置: ``` <property> <name>dfs.namenode.acls.enabled</name> <value>true</value> </property> <property> <name>dfs.namenode.acls.enabled</name> <value>true</value> </property> ``` - 重新启动HDFS服务,使配置生效。 4. 初始化Atlas: - 切换到Atlas安装包目录,运行bin/atlas_start.py脚本以启动Atlas服务。 - 运行bin/atlas_client.py脚本,执行create-hbase-schema命令初始化HBase表结构。 - 运行bin/atlas_client.py脚本,执行import-hive.sh命令初始化Hive元数据。 - 最后,运行bin/atlas_client.py脚本,执行import-hdfs.sh命令初始化HDFS元数据。 完成以上步骤后,CDH 6.3.2与Apache Atlas 2.1.0就成功集成起来了。Atlas将能够提供数据治理和元数据管理的功能,同时与CDH集群的各个组件相互交互,提供更加全面和可靠的数据管理支持。 ### 回答2: CDH 6.3.2是一种大数据平台,集成了各种开源的大数据软件,包括Hadoop、Hive、Spark等。而Atlas 2.1.0则是一种开源的元数据管理和数据治理平台。 将CDH 6.3.2与Atlas 2.1.0集成,可以为大数据平台提供更全面和高效的元数据管理功能。具体的集成步骤如下: 1. 下载和安装CDH 6.3.2:首先,需要从Cloudera官网下载CDH 6.3.2的安装包,并按照官方说明进行安装配置。 2. 下载和安装Atlas 2.1.0:接下来,需要从Apache Atlas官网下载Atlas 2.1.0的安装包,并按照官方说明进行安装配置。 3. 配置Atlas与CDH集成:在安装完成之后,需要修改CDH的配置文件,以便与Atlas集成。通过编辑Cloudera Manager的配置文件,将Atlas的相关配置信息添加进去,配置包括Atlas的运行路径、端口号等。 4. 启动Atlas服务:Atlas服务是一个后台服务,负责元数据管理功能。设置完成后,需要启动Atlas服务,以便使之在CDH平台上生效。通过Cloudera Manager界面,找到Atlas服务,并启动它。 5. 验证集成效果:在Atlas服务启动后,可以登录Atlas的Web界面,验证集成效果。在Atlas中,可以添加和管理各种元数据,比如数据表、数据列等。通过Atlas,可以方便地搜索和浏览CDH中的元数据信息,实现数据治理的目标。 总的来说,将CDH 6.3.2与Atlas 2.1.0集成可以提升大数据平台的元数据管理和数据治理能力。通过将两者集成,可以更方便地管理和查询各种元数据信息,为数据分析和挖掘提供更好的支持。 ### 回答3: CDH 6.3.2 是Cloudera提供的开源大数据平台,而Atlas 2.1.0 是Apache Atlas 提供的元数据管理和数据治理工具。要将Atlas 2.1.0 集成CDH 6.3.2 中,需要按照以下步骤进行操作: 1. 安装CDH 6.3.2:首先,需要按照Cloudera官方文档提供的指南,从Cloudera官方网站下载并安装CDH 6.3.2。这个过程需要确保与系统的要求相符,包括硬件要求和操作系统版本等。 2. 安装Apache Atlas 2.1.0:接下来,需要从Apache Atlas官方网站下载并安装Atlas 2.1.0 的二进制包。同样,这个过程也需要根据官方文档中的指南进行操作,确保安装过程正确无误。 3. 配置CDH 6.3.2 和Atlas 2.1.0:一旦安装完毕,需要进行CDH和Atlas的配置。首先,需要编辑CDH 6.3.2 的配置文件,将Atlas相关的配置选项添加进去,并指定Atlas的元数据存储位置。然后,需要启动CDH的服务,包括Hadoop、Hive、HBase等。接着,在Atlas的配置文件中,需要指定Hadoop集群的地址和端口等信息。 4. 启动Atlas 2.1.0:配置完成后,可以启动Atlas 2.1.0 服务。这样,Atlas将能够连接到CDH 6.3.2,并开始收集、管理和治理集群中的元数据。 需要注意的是,由于CDH和Atlas都是复杂而庞大的系统,集成过程中可能会遇到各种问题和挑战。因此,在进行集成之前,确保事先熟悉了官方文档,并参考经验丰富的用户或社区中的指南和建议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JP.Hu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值