You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by ma...@apache.org on 2022/02/14 05:24:33 UTC
[ranger] branch master updated: RANGER-3610 Refactor service creation and fix errors during container restart
This is an automated email from the ASF dual-hosted git repository.
madhan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new be23736 RANGER-3610 Refactor service creation and fix errors during container restart
be23736 is described below
commit be2373605a3b001d4481971502858b072de42bd5
Author: Abhishek Kumar <ab...@gmail.com>
AuthorDate: Sat Feb 12 13:37:05 2022 -0800
RANGER-3610 Refactor service creation and fix errors during container restart
Signed-off-by: Madhan Neethiraj <ma...@apache.org>
---
dev-support/ranger-docker/Dockerfile.ranger | 7 +--
.../scripts/create-ranger-services.py | 65 ++++++++++++++++++++++
.../scripts/ranger-hbase-service-dev_hbase.py | 8 ---
.../scripts/ranger-hdfs-service-dev_hdfs.py | 8 ---
.../scripts/ranger-hive-service-dev_hive.py | 8 ---
.../scripts/ranger-kafka-service-dev_kafka.py | 8 ---
.../scripts/ranger-knox-service-dev_knox.py | 8 ---
.../scripts/ranger-yarn-service-dev_yarn.py | 8 ---
dev-support/ranger-docker/scripts/ranger.sh | 8 +--
9 files changed, 67 insertions(+), 61 deletions(-)
diff --git a/dev-support/ranger-docker/Dockerfile.ranger b/dev-support/ranger-docker/Dockerfile.ranger
index ad895dc..16492d4 100644
--- a/dev-support/ranger-docker/Dockerfile.ranger
+++ b/dev-support/ranger-docker/Dockerfile.ranger
@@ -24,12 +24,7 @@ COPY ./downloads/postgresql-42.2.16.jre7.jar /home/ranger/dist/
COPY ./scripts/ranger.sh ${RANGER_SCRIPTS}/
COPY ./scripts/ranger-admin-install.properties ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-hdfs-service-dev_hdfs.py ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-yarn-service-dev_yarn.py ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-hive-service-dev_hive.py ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-hbase-service-dev_hbase.py ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-kafka-service-dev_kafka.py ${RANGER_SCRIPTS}/
-COPY ./scripts/ranger-knox-service-dev_knox.py ${RANGER_SCRIPTS}/
+COPY ./scripts/create-ranger-services.py ${RANGER_SCRIPTS}/
RUN tar xvfz /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz --directory=${RANGER_HOME} && \
ln -s ${RANGER_HOME}/ranger-${RANGER_VERSION}-admin ${RANGER_HOME}/admin && \
diff --git a/dev-support/ranger-docker/scripts/create-ranger-services.py b/dev-support/ranger-docker/scripts/create-ranger-services.py
new file mode 100644
index 0000000..7ce541d
--- /dev/null
+++ b/dev-support/ranger-docker/scripts/create-ranger-services.py
@@ -0,0 +1,65 @@
+from apache_ranger.model.ranger_service import RangerService
+from apache_ranger.client.ranger_client import RangerClient
+from json import JSONDecodeError
+
+ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
+
+
+def service_not_exists(service):
+ try:
+ ranger_client.get_service(service.name)
+ except JSONDecodeError:
+ return 1
+ return 0
+
+
+hdfs = RangerService({'name': 'dev_hdfs', 'type': 'hdfs',
+ 'configs': {'username': 'hdfs', 'password': 'hdfs',
+ 'fs.default.name': 'hdfs://ranger-hadoop:9000',
+ 'hadoop.security.authentication': 'simple',
+ 'hadoop.security.authorization': 'true'}})
+
+hive = RangerService({'name': 'dev_hive', 'type': 'hive',
+ 'configs': {'username': 'hive', 'password': 'hive',
+ 'jdbc.driverClassName': 'org.apache.hive.jdbc.HiveDriver',
+ 'jdbc.url': 'jdfb:hive2://ranger-hadoop:10000',
+ 'hadoop.security.authorization': 'true'}})
+
+kafka = RangerService({'name': 'dev_kafka', 'type': 'kafka',
+ 'configs': {'username': 'kafka', 'password': 'kafka',
+ 'zookeeper.connect': 'ranger-zk.example.com:2181'}})
+
+knox = RangerService({'name': 'dev_knox', 'type': 'knox',
+ 'configs': {'username': 'knox', 'password': 'knox', 'knox.url': 'http://ranger-hadoop:8088'}})
+
+yarn = RangerService({'name': 'dev_yarn', 'type': 'yarn',
+ 'configs': {'username': 'yarn', 'password': 'yarn',
+ 'yarn.url': 'http://ranger-hadoop:8088'}})
+
+hbase = RangerService({'name': 'dev_hbase', 'type': 'hbase',
+ 'configs': {'username': 'hbase', 'password': 'hbase',
+ 'hadoop.security.authentication': 'simple',
+ 'hbase.security.authentication': 'simple',
+ 'hadoop.security.authorization': 'true',
+ 'hbase.zookeeper.property.clientPort': '16181',
+ 'hbase.zookeeper.quorum': 'ranger-hbase',
+ 'zookeeper.znode.parent': '/hbase'}})
+
+if service_not_exists(hdfs):
+ ranger_client.create_service(hdfs)
+ print('HDFS service created!')
+if service_not_exists(yarn):
+ ranger_client.create_service(yarn)
+ print('Yarn service created!')
+if service_not_exists(hive):
+ ranger_client.create_service(hive)
+ print('Hive service created!')
+if service_not_exists(hbase):
+ ranger_client.create_service(hbase)
+ print('HBase service created!')
+if service_not_exists(kafka):
+ ranger_client.create_service(kafka)
+ print('Kafka service created!')
+if service_not_exists(knox):
+ ranger_client.create_service(knox)
+ print('Knox service created!')
diff --git a/dev-support/ranger-docker/scripts/ranger-hbase-service-dev_hbase.py b/dev-support/ranger-docker/scripts/ranger-hbase-service-dev_hbase.py
deleted file mode 100644
index 80a3d44..0000000
--- a/dev-support/ranger-docker/scripts/ranger-hbase-service-dev_hbase.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_hbase', 'type': 'hbase', 'configs': {'username':'hbase', 'password':'hbase', 'hadoop.security.authentication': 'simple', 'hbase.security.authentication': 'simple', 'hadoop.security.authorization': 'true', 'hbase.zookeeper.property.clientPort': '16181', 'hbase.zookeeper.quorum': 'ranger-hbase', 'zookeeper.znode.parent': '/hbase'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger-hdfs-service-dev_hdfs.py b/dev-support/ranger-docker/scripts/ranger-hdfs-service-dev_hdfs.py
deleted file mode 100644
index f1b138e..0000000
--- a/dev-support/ranger-docker/scripts/ranger-hdfs-service-dev_hdfs.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_hdfs', 'type': 'hdfs', 'configs': {'username':'hdfs', 'password':'hdfs', 'fs.default.name': 'hdfs://ranger-hadoop:9000', 'hadoop.security.authentication': 'simple', 'hadoop.security.authorization': 'true'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger-hive-service-dev_hive.py b/dev-support/ranger-docker/scripts/ranger-hive-service-dev_hive.py
deleted file mode 100644
index c2bd7d7..0000000
--- a/dev-support/ranger-docker/scripts/ranger-hive-service-dev_hive.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_hive', 'type': 'hive', 'configs': {'username':'hive', 'password':'hive', 'jdbc.driverClassName': 'org.apache.hive.jdbc.HiveDriver', 'jdbc.url': 'jdfb:hive2://ranger-hadoop:10000', 'hadoop.security.authorization': 'true'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger-kafka-service-dev_kafka.py b/dev-support/ranger-docker/scripts/ranger-kafka-service-dev_kafka.py
deleted file mode 100644
index 9f6cd79..0000000
--- a/dev-support/ranger-docker/scripts/ranger-kafka-service-dev_kafka.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_kafka', 'type': 'kafka', 'configs': {'username':'kafka', 'password':'kafka', 'zookeeper.connect': 'ranger-zk.example.com:2181'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger-knox-service-dev_knox.py b/dev-support/ranger-docker/scripts/ranger-knox-service-dev_knox.py
deleted file mode 100644
index dceea53..0000000
--- a/dev-support/ranger-docker/scripts/ranger-knox-service-dev_knox.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_knox', 'type': 'knox', 'configs': {'username':'knox', 'password':'knox', 'knox.url': 'http://ranger-hadoop:8088'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger-yarn-service-dev_yarn.py b/dev-support/ranger-docker/scripts/ranger-yarn-service-dev_yarn.py
deleted file mode 100644
index 8f1ba71..0000000
--- a/dev-support/ranger-docker/scripts/ranger-yarn-service-dev_yarn.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from apache_ranger.model.ranger_service import RangerService
-from apache_ranger.client.ranger_client import RangerClient
-
-ranger_client = RangerClient('http://ranger:6080', ('admin', 'rangerR0cks!'))
-
-service = RangerService({'name': 'dev_yarn', 'type': 'yarn', 'configs': {'username':'yarn', 'password':'yarn', 'yarn.url': 'http://ranger-hadoop:8088'}})
-
-ranger_client.create_service(service)
diff --git a/dev-support/ranger-docker/scripts/ranger.sh b/dev-support/ranger-docker/scripts/ranger.sh
index e2c0ddb..46030b1 100755
--- a/dev-support/ranger-docker/scripts/ranger.sh
+++ b/dev-support/ranger-docker/scripts/ranger.sh
@@ -37,13 +37,7 @@ if [ "${SETUP_RANGER}" == "true" ]
then
# Wait for Ranger Admin to become ready
sleep 30
-
- python3 ${RANGER_SCRIPTS}/ranger-hdfs-service-dev_hdfs.py
- python3 ${RANGER_SCRIPTS}/ranger-yarn-service-dev_yarn.py
- python3 ${RANGER_SCRIPTS}/ranger-hive-service-dev_hive.py
- python3 ${RANGER_SCRIPTS}/ranger-hbase-service-dev_hbase.py
- python3 ${RANGER_SCRIPTS}/ranger-kafka-service-dev_kafka.py
- python3 ${RANGER_SCRIPTS}/ranger-knox-service-dev_knox.py
+ python3 ${RANGER_SCRIPTS}/create-ranger-services.py
fi
RANGER_ADMIN_PID=`ps -ef | grep -v grep | grep -i "org.apache.ranger.server.tomcat.EmbeddedServer" | awk '{print $2}'`