Exemplo n.º 1
0
def input_cluster_flow(input_info):
    """
       定义hadoop集群录入流程(串行流程)
       @param input_info: 缩容参数 参数类型:dict
    """
    hadoop_input_bamboo_flow = BambooFlow(db_type=2, param_info=input_info)
    if not hadoop_input_bamboo_flow.check_param(
    ) or not hadoop_input_bamboo_flow.create_record_detail(task_type=9):
        # 存储任务记录失败,立即退出
        return False

    for node_name in [
            'namenode', 'standbynamenode', 'datanode', 'journalnode'
    ]:
        hadoop_input_bamboo_flow.add_act(
            act_name=f"检测{node_name}节点",
            act_component_code="check_node_action",
            private_list=[{
                'name': 'node_name',
                'value': node_name
            }])

    if len(input_info['resourcemanager']) != 0:
        hadoop_input_bamboo_flow.add_act(
            act_name=f"检测resourcemanager节点",
            act_component_code="check_node_action",
            private_list=[{
                'name': 'node_name',
                'value': 'resourcemanager'
            }])

    if len(input_info['nodemanager']) != 0:
        hadoop_input_bamboo_flow.add_act(
            act_name=f"检测nodemanager节点",
            act_component_code="check_node_action",
            private_list=[{
                'name': 'node_name',
                'value': 'nodemanager'
            }])

    if not hadoop_input_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

    return True
Exemplo n.º 2
0
def deploy_cluster_flow(deploy_info):
    """
       定义hadoop集群部署流程(串行流程)
       @param deploy_info: 缩容参数 参数类型:dict
    """
    sub_act, act_tree = sub_init_flow(data=deploy_info)
    hadoop_deploy_bamboo_flow = BambooFlow(db_type=2, param_info=deploy_info)
    if not hadoop_deploy_bamboo_flow.check_param(
    ) or not hadoop_deploy_bamboo_flow.create_record_detail(task_type=3):
        # 存储任务记录失败,立即退出
        return False
    hadoop_deploy_bamboo_flow.add_sub(sub_flow=sub_act, act_tree=act_tree)
    hadoop_deploy_bamboo_flow.add_act(
        act_name="启动zookeeper集群过程",
        act_component_code="start_zk_server_action",
    )
    hadoop_deploy_bamboo_flow.add_act(act_name="启动Journal集群过程",
                                      act_component_code="ops_node_action",
                                      private_list=[{
                                          'name': 'node_name',
                                          'value': 'journalnode'
                                      }, {
                                          'name': 'ops',
                                          'value': 'start'
                                      }])
    hadoop_deploy_bamboo_flow.add_act(
        act_name="启动NameNode节点过程",
        act_component_code="start_name_node_action",
        private_list=[{
            'name': 'node_name',
            'value': 'namenode'
        }])
    hadoop_deploy_bamboo_flow.add_act(
        act_name="启动StandbyNameNode节点过程",
        act_component_code="start_name_node_action",
        private_list=[{
            'name': 'node_name',
            'value': 'standbynamenode'
        }])
    hadoop_deploy_bamboo_flow.add_act(act_name="启动DataNode节点过程",
                                      act_component_code="ops_node_action",
                                      private_list=[{
                                          'name': 'node_name',
                                          'value': 'datanode'
                                      }, {
                                          'name': 'ops',
                                          'value': 'start'
                                      }])
    # 如果ops_type为hdfs_yarn ,则引入yarn部署流程
    if deploy_info['ops_type'] == 'hdfs_yarn':

        hadoop_deploy_bamboo_flow.add_act(
            act_name="启动ResourceManager集群过程",
            act_component_code="start_yarn_node_action",
            private_list=[{
                'name': 'node_name',
                'value': 'resourcemanager'
            }, {
                'name': 'ops',
                'value': 'start'
            }])

        hadoop_deploy_bamboo_flow.add_act(
            act_name="启动NodeManager集群过程",
            act_component_code="start_yarn_node_action",
            private_list=[{
                'name': 'node_name',
                'value': 'nodemanager'
            }, {
                'name': 'ops',
                'value': 'start'
            }])

    if not hadoop_deploy_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

    return True
Exemplo n.º 3
0
def add_datanode_flow(expand_info):
    """
       定义hadoop节点扩容(datanode)流程(串行流程)
       @param expand_info: 扩容参数
    """
    sub_act, act_tree = sub_init_flow(data=expand_info)
    hadoop_add_node_bamboo_flow = BambooFlow(db_type=2, param_info=expand_info)
    if not hadoop_add_node_bamboo_flow.check_param(
    ) or not hadoop_add_node_bamboo_flow.create_record_detail(task_type=4):
        # 存储任务记录失败,立即退出
        return False
    hadoop_add_node_bamboo_flow.add_sub(sub_flow=sub_act, act_tree=act_tree)
    hadoop_add_node_bamboo_flow.add_act(
        act_name="增加hadoop集群白名单过程",
        act_component_code="add_include_config_action",
    )

    hadoop_add_node_bamboo_flow.add_act(act_name="启动DataNode节点过程",
                                        act_component_code="ops_node_action",
                                        private_list=[{
                                            'name': 'node_name',
                                            'value': 'datanode'
                                        }, {
                                            'name': 'ops',
                                            'value': 'start'
                                        }])

    if not hadoop_add_node_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

    return True