大数据(1e)集群启停脚本优化(不定更)

实战“大数据”案例优化之路 描述: 继ALS矩阵推荐,数据矩阵作为ALS项目的输入,输入之前需要进行数据校验,例如是否是数字,或者规定长度等。 附上相关文档链接 https://blog.youkuaiyun.com/qq_34597894/article/details/94406707 详细描述如上都已说明。 记录: 看过上面链接,基本就明白了输入的格式如下: 以上文件行数如下: 大概300W的LINE数据 ... 阅读详情

非高可用Hadoop集群启停

touch $HADOOP_HOME/sbin/hadoop.py
chmod 777 $HADOOP_HOME/sbin/hadoop.py
vim $HADOOP_HOME/sbin/hadoop.py
#!/usr/bin/python2
# coding=utf-8
import os, re, subprocess, time

# HDFS
NN = re.compile(r'<name>fs\.defaultFS</name>\s*<value>hdfs://(hadoop\d+):\d+</value>')
NN_F = subprocess.check_output('cat $HADOOP_HOME/etc/hadoop/core-site.xml', shell=True)
nn = NN.findall(NN_F)[0]
start_dfs = 'ssh %s start-dfs.sh' % nn
stop_dfs = 'ssh %s stop-dfs.sh' % nn

# YARN
RM = re.compile(r'<name>yarn\.resourcemanager\.hostname</name>\s*<value>(hadoop\d+)</value>')
RM_F = subprocess.check_output('cat $HADOOP_HOME/etc/hadoop/yarn-site.xml', shell=True)
rm = RM.findall(RM_F)[0]
start_yarn = 'ssh %s start-yarn.sh' % rm
stop_yarn = 'ssh %s stop-yarn.sh' % rm

# history server
MR_F = subprocess.check_output('cat $HADOOP_HOME/etc/hadoop/mapred-site.xml', shell=True)
START_HISTORY_SERVER = 'mapred --daemon start historyserver'
STOP_HISTORY_SERVER = 'mapred --daemon stop historyserver'
HISTORY = re.compile(r'<name>mapreduce\.jobhistory\.address</name>\s*<value>(hadoop\d+):\d+</value>')

# 脚本参数选项
options = {
    'start', 'stop', 'restart', 'start_history_server', 'stop_history_server',
    'start_all', 'stop_all', 'restart_all'}

def execute(cmd):
    print(cmd)
    os.system(cmd)

def start():
    """启动HDFS和YARN"""
    execute(start_dfs)
    execute(start_yarn)

def stop():
    """停止HDFS和YARN"""
    execute(stop_dfs)
    execute(stop_yarn)

def restart():
    """重启HDFS和YARN"""
    stop()
    time.sleep(9)
    start()

def get_history_address():
    address = HISTORY.findall(MR_F)
    if address:
        return address[0]
    else:
        print('没有配置历史服务器')

def start_history_server():
    """启动历史服务器"""
    host = get_history_address()
    if host:
        execute("ssh {} '{}'".format(host, START_HISTORY_SERVER))

def stop_history_server():
    """停止历史服务器"""
    host = get_history_address()
    if host:
        execute("ssh {} '{}'".format(host, STOP_HISTORY_SERVER))

def start_all():
    """启动HDFS、YARN和历史服务器"""
    start()
    start_history_server()

def stop_all():
    """停止HDFS、YARN和历史服务器"""
    stop_history_server()
    stop()

def restart_all():
    """重启HDFS、YARN和历史服务器"""
    stop_history_server()
    restart()
    start_history_server()

def usage():
    print('Hadoop命令'.center(40, '='))
    print(start_dfs)
    print(start_yarn)
    print(stop_dfs)
    print(stop_yarn)
    print(START_HISTORY_SERVER)
    print(STOP_HISTORY_SERVER)
    print('脚本用法'.center(40, '='))
    for option in options:
        print('{} {} -> {}'.format(__file__, option, eval(option + '.__doc__')))

a = os.sys.argv
if len(a) == 2 and a[1] in options:
    exec(a[1] + '()')
else:
    usage()

高可用Hadoop集群启停

touch $HADOOP_HOME/sbin/haHadoop.py
chmod 777 $HADOOP_HOME/sbin/haHadoop.py
vim $HADOOP_HOME/sbin/haHadoop.py
#!/usr/bin/python2
import os, re, subprocess, time

def state():
    NN = re.compile(r'<name>dfs.ha.namenodes.+?</name>\s*<value>(.+?)</value>')
    RM = re.compile('<name>yarn.resourcemanager.ha.rm-ids</name>\s*<value>(.+?)</value>')
    NN_LS = subprocess.check_output('cat $HADOOP_HOME/etc/hadoop/hdfs-site.xml', shell=True)
    RM_LS = subprocess.check_output('cat $HADOOP_HOME/etc/hadoop/yarn-site.xml', shell=True)
    nn_ls = NN.findall(NN_LS)[0].split(',')
    rm_ls = RM.findall(RM_LS)[0].split(',')
    for nn in nn_ls:
        cmd = 'hdfs haadmin -getServiceState ' + nn
        print(cmd)
        os.system(cmd)
    for rm in rm_ls:
        cmd = 'yarn rmadmin -getServiceState ' + rm
        print(cmd)
        os.system(cmd)

def start():
    os.system('start-dfs.sh')
    os.system('start-yarn.sh')

def stop():
    os.system('stop-dfs.sh')
    os.system('stop-yarn.sh')

def restart():
    stop()
    time.sleep(9)
    start()

a = os.sys.argv
if len(a) == 2 and a[1] in {'start', 'stop', 'restart'}:
    exec(a[1] + '()')
else:
    state()

ZooKeeper集群启停

touch $ZOOKEEPER_HOME/bin/zookeeper.py
chmod 777 $ZOOKEEPER_HOME/bin/zookeeper.py
vim $ZOOKEEPER_HOME/bin/zookeeper.py
#!/usr/bin/python2
import os, re, subprocess

CMD = 'zkServer.sh '
option = 'status'

a = os.sys.argv
if len(a) == 2:
    a = a[1]
    if a in {'stop', 'start', 'restart'}:
        option = a
cmd = CMD + option

cfg = subprocess.check_output('cat $ZOOKEEPER_HOME/conf/zoo.cfg', shell=True)
for h in re.findall('server.+?=(.+):[0-9]+:[0-9]+', cfg):
    _cmd = 'ssh %s "%s"' % (h, cmd)
    print(_cmd)
    os.system(_cmd)

Kafka集群启停

touch $KAFKA_HOME/bin/kafka.py
chmod 777 $KAFKA_HOME/bin/kafka.py
vim $KAFKA_HOME/bin/kafka.py
#!/usr/bin/python2
import os, re, socket, subprocess, time

def os_system(cmd):
    print(cmd)
    os.system(cmd)

def get_host():
    cfg = subprocess.check_output('cat $KAFKA_HOME/config/server.properties', shell=True)
    zk_ls = re.findall('zookeeper[.]connect=(.+?)/kafka', cfg)[0]
    for hp in zk_ls.split(','):
        h, p = hp.split(':')
        yield h

def stop():
    command = 'kafka-server-stop.sh'
    for h in get_host():
        os_system('ssh %s "%s"' % (h, command))

def start():
    command = 'kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties'
    for h in get_host():
        os_system('ssh %s "%s"' % (h, command))

def restart():
    stop()
    time.sleep(20)
    start()

def status():
    hostname = socket.gethostname()
    cmd = 'kafka-topics.sh --zookeeper {}:2181/kafka --list'.format(hostname)
    os_system(cmd)

a = os.sys.argv
if len(a) == 2:
    a = a[1]
    if a in {'stop', 'start', 'restart', 'status'}:
        exec(a + '()')
DolphinScheduler分布式集群部署指南(小白版) 摘自官网:Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。 阅读详情

相关推荐

大数据视角下的数据库集群脑裂问题与解决方案

数据库集群脑裂(Split-Brain)是分布式系统中因网络分区或节点故障导致集群分裂为多个独立子集群的现象,可能引发数据不一致和系统不可用。核心原因包括网络分区、选举机制缺陷和负载不均。大数据场景下,脑裂会导致数据不一致、服务中断和恢复成本高。解决方案包括预防机制和恢复策略。预防机制通过多数派投票(Quorum)、心跳检测与超时优化、资源隔离与角色分离来避免脑裂。恢复策略则包括人工介入与数据合并、自动恢复流程。具体实现可通过配置Elasticsearch、ZooKeeper、Redis等数据库的Quoru

百态·数智思维 | 聚焦大数据、量化与未来AI 1084

hadoop及hbase集群启停的几种方式

1、生产环境集群2、web管理页面hadoop web管理页面(主备)http://192.168.10.101:50070http://192.168.10.102:50070hbase web管理页面(主备)http://192.168.10.101:16010http://192.168.10.102:160103、启动和停止服务3.1、启动顺序Hadoop及hbase...

weixin_34000916的博客 558

[Pyhon疫情大数据分析] 一.腾讯实时数据爬取、Matplotlib和Seaborn可视化分析全国各地区、某省各城市、新增趋势

思来想去,虽然很忙,但还是挤时间针对这次肺炎疫情写个Python大数据分析系列博客,包括网络爬虫、可视化分析、GIS地图显示、情感分析、舆情分析、主题挖掘、威胁情报溯源、知识图谱、预测预警及AI和NLP应用等。第一篇文章将分享腾讯疫情实时数据抓取,获取全国各地和贵州省各地区的实时数据,并将数据存储至本地,最后调用Maplotlib和Seaborn绘制中国各地区、贵州省各城市、新增人数的图形。希望这篇可视化分析文章对您有所帮助!

杨秀璋的专栏 4万+

python自动生成执行集群操作脚本

python自动生成执行集群操作脚本

Ganymede的Hadoop世界 1704

Doris Manager集群的工具,运维更顺畅

Cluster Manager for Apache Doris(以下简称 Doris Manager)是 SelectDB 推出的管理运维 Apache Doris、SelectDB Enterprise 集群的工具。

IT邦德 3899

大数据平台搭建2024(一)

1)修改zookeeper的配置,将java环境直接配置给zk(3个节点都修改)会根据配置的hadoop的tmp文件夹生成文件,3个节点的tmp的数据是一致的。,启动3台的zk级hadoop服务(仅在node01上创建脚本)2)可以看到node01为备用节点,手动调整node01为主节点。1)启动3台节点的zookeeper,在3台节点分别执行。1)启动3台节点的zookeeper,在3台节点分别执行。实现停止集群服务的脚本(先启动的后关,后启动的先关)2)启动journalnode,在3台节点分别执行。

Cat God 007的博客 1880

我常用的大数据执行脚本,共享给大家

首先到238执行: cd /usr/local/hbase-1.2.1/bin/ ./stop-hbase.sh  碰到报错,到238,239,240 cd /usr/local  ./stophbase.sh   执行完之后,使用  ps axu |grep hbase  查看是否还有残余进程。。有的话,根据查看到的pid 执行  kill -9 $pid (这里的$p

m0_37845836的博客 1574

Selenium实战:突破反爬,自动化抓取国家知识产权局专利数据

网络爬虫是数据采集的核心技术,其原理是通过程序模拟浏览器行为,自动访问网页并提取结构化信息。在数据驱动决策的今天,高效获取公开数据对市场分析、技术调研和竞争情报至关重要。然而,面对广泛应用的JavaScript动态渲染和反爬虫机制,传统的静态页面抓取方法往往失效。Selenium作为浏览器自动化工具,通过驱动真实浏览器执行JavaScript,能够有效绕过前端反爬,实现“可见即可得”的数据抓取,在需要与页面进行复杂交互或处理动态内容的场景中价值显著。本文以【专利数据】抓取为例,结合【Selenium】工具,

weixin_33881140的博客 394

大数据(1d)集群脚本

集群jps 集群文件同路径传输 集群source环境变量 集群启停 ZooKeeper群起 Kafka群起

ArYe 787

【KITTI数据集中Raw_Data数据标定文件中的参数关系解读】

上一节本人将KITTI Odometry数据集中的参数文件进行了解释。本节主要针对一些做融合slam的人,将Raw_Data数据标定文件中的参数按照自己的理解做如下阐述。其中,所讲之处如有错误,欢迎各位批评指正。

weixin_43389152的博客 1527

RDD2022 数据格式转换与清洗

Rdd2022数据集,是关于道路损伤的数据集,与rdd2020相比增加了两万多张图片但是由于格式不能被yolo直接使用且其中有大量的图片没有符合要求的标注,特写此文章记录数据清洗与格式化的过程。

蓝胖子的博客 9963

Spark集群管理脚本详解

这三个脚本在大数据集群管理中具有重要的作用。jpsa脚本方便我们快速查看集群中各个节点的服务启动情况,及时发现问题。xsync脚本使得文件分发变得简单高效,无论是配置文件还是数据文件都能轻松同步到其他节点。xcall脚本则能实现命令在多个节点上的同步执行,对于集群的统一配置和操作非常有帮助。通过合理使用这些脚本,我们可以大大提高大数据集群管理的效率和准确性,减少人工操作的繁琐和错误。在实际使用中,还可以根据集群的具体需求和特点对脚本进行进一步的优化和扩展。

qq_68076599的博客 417

HC-05蓝牙模块AT指令配置避坑全记录:从配对失败到稳定主从通信

本文详细记录了HC-05蓝牙模块AT指令配置的全过程,从基础认知到主从通信的稳定实现。涵盖了进入AT模式的方法、关键AT指令详解、主从配对流程及常见故障排除,帮助开发者快速掌握蓝牙串口模块的配置技巧,避免常见配对失败问题。

weixin_42632434的博客 416

hadoop环境部署自动化shell脚本(伪分布式、完全分布式集群搭建)

本文旨在提供一个hadoop环境部署脚本帮助读者更快速地搭建用于学习和开发的hadoop环境,节省大数据技术入门时间和成本。

weixin_42011520的博客 3852

硅基半导体量子点:单电子自旋量子比特技术手册

现在我们已经了解了从硅片到容错计算的全部环节,让我们用一张总览图把碎片拼成完整拼图。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;important;important;important;color:#000!important;important;important;important;important;color:#000!

VectorShift的博客 375

零基础入门Simulink——基于Simulink的MIMO-OFDM系统仿真建模示例

MIMO概述MIMO技术利用多个天线进行信号发送和接收,通过空间复用来提高数据传输速率,或通过空间分集来增强信号的可靠性。OFDM概述OFDM是一种将高速率数据流分成多个低速数据流并行传输的技术,每个子载波都采用调制方式(如BPSK、QPSK),并通过IFFT/FFT变换实现串并转换。MIMO-OFDM优势结合了MIMO的空间分集增益与OFDM对抗多径效应的能力,适用于宽带无线通信系统。提供了更高的数据速率和更好的频谱效率,是现代无线通信标准(如4G LTE、5G NR等)的核心技术之一。

amy_mhd的博客 891

大数据环境安装脚本升级

大数据环境安装脚本升级 功能新增&调整 最近对大数据环境安装脚本进行了升级。相比上一个版本,增加了以下功能: 增加HBase集群安装。 增加Spark一键安装。 增加HUE一键编译安装。 增加Maven一键安装,并配置国内阿里镜像源。 增加NodeJS一键安装,并配置国内阿里镜像源。 HBase、Spark安装配置文件frames.txt格式有所调整。 # 安装包名 是否安装(true/false) 安装节点 主节点 hbase-2.0.0-bin.tar.gz true n

pengpengsays 290

YOLOv11改进策略【模型轻量化】| 替换轻量化骨干网络:ShuffleNet V1

本文记录的是基于ShuffleNet V1的YOLOv11轻量化改进方法研究。ShuffleNet利用和操作降低计算成本,克服了现有先进架构在极小网络中因 1×1 卷积计算成本高而效率低的问题。相比一些传统的网络架构,能更好地。本文配置了原论文中和四种模型,以满足不同的需求。

Limiiiing的博客 1231

大数据技术

1. 大数据技术生态体系 2. hadoop目录结构 bin: Hadoop的命令 sbin: Hadoop的脚本 etc: Hadoop的配置文件 share: Hadoop的jar包

asas043的专栏 272

ABAP CDS 货币与计量单位换算全攻略:CURRENCY_CONVERSION、UNIT_CONVERSION 与 DECIMAL_SHIFT 的工程化实践

本文介绍了SAP ABAP CDS中三种单位/货币换算函数(UNIT_CONVERSION、CURRENCY_CONVERSION、DECIMAL_SHIFT)的实战应用。重点包括:各函数的职责边界与适用场景,参数配置与精度控制策略,以及基于标准表(T006、TCUR*等)的换算规则来源。文章提供可运行的CDS示例,涵盖单位换算(如MI转KM)、货币汇率转换(含小数位处理)及纯小数位调整等典型场景,并强调生产环境中需注意的精度差异与审计风险控制。适用于企业报表、成本核算等需要统一口径的业务场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1554

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

OpenEuler部署Kafka分布式集群

OpenEuler部署Kafka分布式集群

shisjin的博客 2402

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

openEuler24.03 LTS下Hadoop3完全分布式集群的自动化部署与优化

本文详细介绍了在openEuler24.03 LTS操作系统上,如何通过编写自动化脚本实现Hadoop3完全分布式集群的一键部署与优化。内容涵盖环境准备、SSH免密配置、核心分发脚本编写、JDK与Hadoop自动化安装,以及集群启停和性能调优,旨在帮助用户高效、稳定地构建国产化大数据平台,避免手动操作的繁琐与错误。

h9j8k7l6m5n的博客 440

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

从零手把手教你搭建Hadoop集群

从零手把手教你搭建Hadoop集群

zwl2220943286的博客 1668

Linkis1.0从零部署指南——手把手教你搭建大数据中间件平台

本文提供了一份详尽的Linkis 1.0大数据中间件平台从零部署指南。内容涵盖单机与集群部署的完整流程,包括环境准备、关键配置详解、资源规划、服务启停运维及上层应用接入实战,旨在帮助用户高效、稳定地搭建和运维Linkis平台。

lg888的博客 736

HBase 2.4.6完全分布式集群搭建避坑指南(附自研分发脚本)

本文是一份针对HBase 2.4.6的完全分布式集群搭建避坑指南。文章详细解析了部署前的环境规划、核心配置文件的关键参数设置,并提供了解决Hadoop 3.x兼容性等常见问题的方案。此外,还分享了自研的集群文件分发脚本和统一启停脚本,旨在帮助用户高效、稳定地构建生产级HBase集群。

moss5的博客 900

2. 用户行为采集平台搭建

用户行为采集平台数据仓库概念项目需求及架构设计项目需求分析项目框架技术选型系统数据流程设计框架版本选型服务器选型集群资源规划设计用户行为日志用户行为日志概述用户行为日志内容用户行为日志格式模拟生成用户行为日志数据采集模块 数据仓库概念 数据仓库(Data Warehouse )是为企业所有决策制定过程,提供所有系统数据的战略集合 通过对数据仓库中数据的分析,可以帮助企业,改进业务、控制成本、提高产品质量等。 数据仓库,并不是数据的最终目的地,而是为数据最终的目的地做好准备。 这些准备包括对数据的: 清洗

记录点点滴滴 1774
上一篇: 我总能把Hadoop玩坏
下一篇: MapReduce中文词频统计demo
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值