from sahara.plugins import context import sahara.plugins.provisioning as p from sahara.plugins import utils from sahara_plugin_mapr.i18n import _ import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as bcf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.event_log as el import sahara_plugin_mapr.plugins.mapr.util.general as g import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu LOG = logging.getLogger(__name__) CLDB = np.NodeProcess(name='cldb', ui_name='CLDB', package='mapr-cldb', open_ports=[7222, 7220, 7221]) FILE_SERVER = np.NodeProcess(name='fileserver', ui_name='FileServer', package='mapr-fileserver', open_ports=[]) NFS = np.NodeProcess(name='nfs', ui_name='NFS', package='mapr-nfs', open_ports=[2049, 9997, 9998]) class MapRFS(s.Service): _CREATE_DISK_LIST = 'plugins/mapr/resources/create_disk_list_file.sh' _DISK_SETUP_CMD = '/opt/mapr/server/disksetup -F /tmp/disk.list' _DISK_SETUP_TIMEOUT = 600
# a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu FLUME = np.NodeProcess(name='flume', ui_name='Flume', package='mapr-flume', open_ports=[]) class Flume(s.Service): def __init__(self): super(Flume, self).__init__() self._name = 'flume' self._ui_name = 'Flume' self._node_processes = [FLUME] self._validation_rules = [vu.at_least(1, FLUME)] class FlumeV15(Flume): def __init__(self): super(FlumeV15, self).__init__()
# a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu SQOOP_2_SERVER = np.NodeProcess(name='sqoop2', ui_name='Sqoop2-Server', package='mapr-sqoop2-server', open_ports=[12000]) SQOOP_2_CLIENT = np.NodeProcess(name='sqoop-client', ui_name='Sqoop2-Client', package='mapr-sqoop2-client') class Sqoop2(s.Service): def __init__(self): super(Sqoop2, self).__init__() self._name = 'sqoop' self._ui_name = 'Sqoop2' self._version = '2.0.0' self._node_processes = [SQOOP_2_CLIENT, SQOOP_2_SERVER] self._validation_rules = [ vu.exactly(1, SQOOP_2_SERVER),
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara.plugins.utils as utils import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as bcf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.services.hbase.hbase as hbase import sahara_plugin_mapr.plugins.mapr.services.hive.hive as hive import sahara_plugin_mapr.plugins.mapr.services.sentry.sentry as sentry import sahara_plugin_mapr.plugins.mapr.util.general as g import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu IMPALA_SERVER = np.NodeProcess(name='impalaserver', ui_name='Impala-Server', package='mapr-impala-server', open_ports=[21000, 21050, 25000]) IMPALA_STATE_STORE = np.NodeProcess(name='impalastore', ui_name='Impala-Statestore', package='mapr-impala-statestore', open_ports=[25010]) IMPALA_CATALOG = np.NodeProcess(name='impalacatalog', ui_name='Impala-Catalog', package='mapr-impala-catalog', open_ports=[25020]) class Impala(s.Service): def __init__(self): super(Impala, self).__init__() self._name = 'impala'
# not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu PIG = np.NodeProcess(name='pig', ui_name='Pig', package='mapr-pig') class Pig(s.Service): def __init__(self): super(Pig, self).__init__() self._name = 'pig' self._ui_name = 'Pig' self._node_processes = [PIG] self._validation_rules = [vu.at_least(1, PIG)] class PigV013(Pig): def __init__(self): super(PigV013, self).__init__() self._version = '0.13'
import sahara.plugins.utils as utils import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as bcf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.services.hbase.hbase as hbase import sahara_plugin_mapr.plugins.mapr.services.hive.hive as hive import sahara_plugin_mapr.plugins.mapr.util.general as g import sahara_plugin_mapr.plugins.mapr.util.maprfs_helper as mfs import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu SPARK_SLAVE_UI_PORT = 8081 SPARK_HS_UI_PORT = 18080 SPARK_HISTORY_SERVER = np.NodeProcess(name='spark-historyserver', ui_name='Spark HistoryServer', package='mapr-spark-historyserver', open_ports=[SPARK_HS_UI_PORT]) SPARK_SLAVE = np.NodeProcess(name='spark-master', ui_name='Spark Slave', package='mapr-spark', open_ports=[SPARK_SLAVE_UI_PORT]) class SparkOnYarn(s.Service): JAR_FILE_TARGET = '/apps/spark/lib' MFS_DIR = '/apps/spark' SERVLET_JAR = 'javax.servlet-api.jar' def __init__(self): super(SparkOnYarn, self).__init__() self._name = 'spark'
import sahara_plugin_mapr.plugins.mapr.services.mapreduce.mapreduce as mr import sahara_plugin_mapr.plugins.mapr.services.mysql.mysql as mysql import sahara_plugin_mapr.plugins.mapr.services.oozie.oozie as oozie import sahara_plugin_mapr.plugins.mapr.services.sentry.sentry as sentry import sahara_plugin_mapr.plugins.mapr.services.spark.spark as spark import sahara_plugin_mapr.plugins.mapr.services.sqoop.sqoop2 as sqoop import sahara_plugin_mapr.plugins.mapr.services.yarn.yarn as yarn import sahara_plugin_mapr.plugins.mapr.util.event_log as el import sahara_plugin_mapr.plugins.mapr.util.general as g import sahara_plugin_mapr.plugins.mapr.util.password_utils as pu import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu LOG = logging.getLogger(__name__) HUE = np.NodeProcess(name='hue', ui_name='Hue', package='mapr-hue', open_ports=[8002, 8888]) HUE_LIVY = np.NodeProcess(name="livy", ui_name="Hue Livy", package="mapr-hue-livy", open_ports=[8998]) class Hue(s.Service): THRIFT_VERSIONS = [5, 7] THRIFT_VERSION = p.Config(name="Thrift version", applicable_target="Hue", scope='cluster', config_type="dropdown", config_values=[(v, v) for v in THRIFT_VERSIONS],
# a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu KAFKA = np.NodeProcess(name='kafka', ui_name='Kafka', package='mapr-kafka', open_ports=[9092]) KAFKA_REST = np.NodeProcess(name='kafka', ui_name='Kafka Rest', package='mapr-kafka-rest', open_ports=[8082]) KAFKA_CONNECT_HDFS = np.NodeProcess(name='kafka', ui_name='Kafka Connect HDFS', package='mapr-kafka-connect-hdfs') KAFKA_CONNECT_JDBC = np.NodeProcess(name='kafka', ui_name='Kafka Connect JDBC', package='mapr-kafka-connect-jdbc')
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara.plugins.provisioning as p import sahara.plugins.utils as utils from sahara_plugin_mapr.i18n import _ import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as cf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.services.mysql.mysql as mysql import sahara_plugin_mapr.plugins.mapr.util.event_log as el import sahara_plugin_mapr.plugins.mapr.util.maprfs_helper as mfs SENTRY = np.NodeProcess(name='sentry', ui_name='Sentry', package='mapr-sentry') SENTRY_MODE_CONFIG_NAME = 'Sentry storage mode' FILE_STORAGE_SENTRY_MODE = 'File-base storage' DB_STORAGE_SENTRY_MODE = 'DB-based storage' class Sentry(s.Service): SENTRY_STORAGE_MODE = p.Config( name=SENTRY_MODE_CONFIG_NAME, applicable_target='Sentry', scope='cluster', config_type="dropdown", config_values=[ (v, v) for v in (FILE_STORAGE_SENTRY_MODE, DB_STORAGE_SENTRY_MODE) ],
# # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as bcf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu HBASE_MASTER = np.NodeProcess(name='hbmaster', ui_name='HBase-Master', package='mapr-hbase-master', open_ports=[60000, 60010]) HBASE_REGION_SERVER = np.NodeProcess(name='hbregionserver', ui_name='HBase-RegionServer', package='mapr-hbase-regionserver', open_ports=[60020]) HBASE_THRIFT = np.NodeProcess(name='hbasethrift', ui_name='HBase-Thrift', package='mapr-hbasethrift', open_ports=[9090]) HBASE_REST = np.NodeProcess( name="hbaserestgateway", ui_name="HBase REST", package="mapr-hbase-rest", open_ports=[8080, 8085], )
import sahara.plugins.context as context from sahara_plugin_mapr.i18n import _ import sahara_plugin_mapr.plugins.mapr.domain.configuration_file as bcf import sahara_plugin_mapr.plugins.mapr.domain.node_process as np import sahara_plugin_mapr.plugins.mapr.domain.service as s import sahara_plugin_mapr.plugins.mapr.services.mysql.mysql as mysql import sahara_plugin_mapr.plugins.mapr.util.event_log as el import sahara_plugin_mapr.plugins.mapr.util.general as g import sahara_plugin_mapr.plugins.mapr.util.validation_utils as vu LOG = logging.getLogger(__name__) OOZIE_START_DELAY = 30 OOZIE = np.NodeProcess(name='oozie', ui_name='Oozie', package='mapr-oozie', open_ports=[11000]) class Oozie(s.Service): def __init__(self): super(Oozie, self).__init__() self._name = 'oozie' self._ui_name = 'Oozie' self._node_processes = [OOZIE] self._cluster_defaults = ['oozie-default.json'] self._validation_rules = [vu.exactly(1, OOZIE)] self._ui_info = [('Oozie', OOZIE, { s.SERVICE_UI: 'http://%s:11000/oozie' })]