Exemplo n.º 1
0
def remove_datanode_flow(remove_info):
    """
       定义hadoop节点缩容(datanode)流程(串行流程)
       @param remove_info: 缩容参数
    """
    hadoop_remove_node_bamboo_flow = BambooFlow(db_type=2,
                                                param_info=remove_info)
    if not hadoop_remove_node_bamboo_flow.check_param(
    ) or not hadoop_remove_node_bamboo_flow.create_record_detail(task_type=5):
        # 存储任务记录失败,立即退出
        return False
    hadoop_remove_node_bamboo_flow.add_act(
        act_name="增加hadoop集群黑名单过程",
        act_component_code="remove_datanode_config_action",
    )
    hadoop_remove_node_bamboo_flow.add_act(
        act_name="启动DataNode节点过程",
        act_component_code="ops_node_action",
        private_list=[{
            'name': 'node_name',
            'value': 'datanode'
        }, {
            'name': 'ops',
            'value': 'stop'
        }])

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

    return True
Exemplo n.º 2
0
def add_node_flow(add_info):
    """
       定义es集群节点扩容流程(串行流程)
       @param add_info: 扩容参数 参数类型:dict
    """
    es_add_bamboo_flow = BambooFlow(db_type=1, param_info=add_info)
    if not es_add_bamboo_flow.check_param(
    ) or not es_add_bamboo_flow.create_record_detail(task_type=10):
        # 存储任务记录失败,立即退出
        return False
    es_add_bamboo_flow.add_act(act_name="分发文件",
                               act_component_code="es_push_pkg_action",
                               private_list=[{
                                   'name':
                                   'target_ips',
                                   'value':
                                   add_info[f"{add_info['role']}_list"]
                               }])

    es_add_bamboo_flow.add_act(act_name=f"扩容{add_info['role']}节点",
                               act_component_code="install_es_action",
                               private_list=[{
                                   'name': 'role',
                                   'value': add_info['role']
                               }])

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

    return True
Exemplo n.º 3
0
def add_dir_flow(expand_info):
    """
       定义hadoop目录扩容流程(串行流程)
       @param expand_info: 扩容参数
    """
    hadoop_add_dir_bamboo_flow = BambooFlow(db_type=2, param_info=expand_info)
    if not hadoop_add_dir_bamboo_flow.check_param(
    ) or not hadoop_add_dir_bamboo_flow.create_record_detail(task_type=8):
        # 存储任务记录失败,立即退出
        return False

    hadoop_add_dir_bamboo_flow.add_act(
        act_name="检测新加目录是否符合规范",
        act_component_code="check_add_dir_action",
    )
    hadoop_add_dir_bamboo_flow.add_act(
        act_name="刷新存储数据目录配置过程",
        act_component_code="datanode_re_config_dir_action",
    )

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

    return True
Exemplo n.º 4
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
Exemplo n.º 5
0
def reduce_node_flow(reduce_info):
    """
       定义es集群节点缩容流程(串行流程)
       @param reduce_info: 缩容参数 参数类型:dict
    """
    es_reduce_bamboo_flow = BambooFlow(db_type=1, param_info=reduce_info)
    if not es_reduce_bamboo_flow.check_param(
    ) or not es_reduce_bamboo_flow.create_record_detail(task_type=11):
        # 存储任务记录失败,立即退出
        return False
    es_reduce_bamboo_flow.add_act(act_name="缩容节点",
                                  act_component_code="es_node_reduce_action")
    if not es_reduce_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

    return True
Exemplo n.º 6
0
def add_node_flow(add_info):
    """
       定义kafka扩容流程(串行流程)
       @param add_info: 扩容流程 参数类型:dict
    """
    kafka_add_node_bamboo_flow = BambooFlow(db_type=3, param_info=add_info)
    if not kafka_add_node_bamboo_flow.create_record_detail(task_type=10):
        # 存储任务记录失败,立即退出
        return False
    kafka_add_node_bamboo_flow.add_act(
        act_name="分发文件", act_component_code="kafka_push_pkg_action")
    kafka_add_node_bamboo_flow.add_act(
        act_name="扩容broker节点", act_component_code="install_kafka_action")
    if not kafka_add_node_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

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

    es_input_bamboo_flow.add_act(act_name=f"导入集群{input_info['cluster_name']}",
                                 act_component_code="es_input_cluster_action")

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

    return True
Exemplo n.º 8
0
def deploy_cluster_flow(deploy_info):
    """
       定义kafka集群部署流程(串行流程)
       @param deploy_info: 部署参数 参数类型:dict
    """
    kafka_deploy_bamboo_flow = BambooFlow(db_type=3, param_info=deploy_info)
    if not kafka_deploy_bamboo_flow.check_param(
    ) or not kafka_deploy_bamboo_flow.create_record_detail(task_type=3):
        # 存储任务记录失败,立即退出
        return False
    kafka_deploy_bamboo_flow.add_act(
        act_name="分发文件", act_component_code="kafka_push_pkg_action")
    kafka_deploy_bamboo_flow.add_act(act_name="部署Kafka集群",
                                     act_component_code="install_kafka_action")
    if not kafka_deploy_bamboo_flow.build_bamboo():
        # 返回false证明建立流程任务失败,异常退出
        return False

    return True
Exemplo n.º 9
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.º 10
0
def deploy_cluster_flow(deploy_info):
    """
       定义es集群部署流程(串行流程)
       @param deploy_info: 部署参数 参数类型:dict
    """
    es_deploy_bamboo_flow = BambooFlow(db_type=1, param_info=deploy_info)
    if not es_deploy_bamboo_flow.check_param(
    ) or not es_deploy_bamboo_flow.create_record_detail(task_type=3):
        # 存储任务记录失败,立即退出
        return False

    es_deploy_bamboo_flow.add_act(
        act_name="分发文件",
        act_component_code="es_push_pkg_action",
        private_list=[{
            'name':
            'target_ips',
            'value':
            deploy_info['master_list'] + deploy_info['data_list'] +
            deploy_info['cold_list'] + deploy_info['client_list']
        }])

    es_deploy_bamboo_flow.add_act(act_name="部署master节点",
                                  act_component_code="install_es_action",
                                  private_list=[{
                                      'name': 'role',
                                      'value': 'master'
                                  }])

    es_deploy_bamboo_flow.add_act(act_name="部署data节点",
                                  act_component_code="install_es_action",
                                  private_list=[{
                                      'name': 'role',
                                      'value': 'data'
                                  }])

    if len(deploy_info['cold_list']) != 0:
        es_deploy_bamboo_flow.add_act(act_name="部署cold节点",
                                      act_component_code="install_es_action",
                                      private_list=[{
                                          'name': 'role',
                                          'value': 'cold'
                                      }])
    if len(deploy_info['client_list']) != 0:
        es_deploy_bamboo_flow.add_act(act_name="部署client节点",
                                      act_component_code="install_es_action",
                                      private_list=[{
                                          'name': 'role',
                                          'value': 'client'
                                      }])

    if deploy_info['version'] == "5.4.0":
        es_deploy_bamboo_flow.add_act(
            act_name="初始化权限", act_component_code="search_guard_init_action")

    es_deploy_bamboo_flow.add_act(act_name="账号密码设置",
                                  act_component_code="es_grant_action")

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

    return True
Exemplo n.º 11
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