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
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
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
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
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
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
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
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
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
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
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