Linux系统下pid与pid文件及Hadoop更改pid文件存储位置

简介: 今天来讲Linux系统下pid与pid文件及Hadoop更改pid文件存储位置

1.认识pid:


PID全称是Process Identification。

PID是进程的代号,每个进程有唯一的PID编号。它是进程运行时系统随机分配的,并不代表专门的进程。在运行时PID是不会改变标识符的,但是你终止程序后再运行PID标识符就会被系统回收,就可能会被继续分配给新运行的程序。

2.pid文件


  • pid文件的内容
    用cat命令查看,可以看到内容只有一行,记录了该进程的ID
  • pid文件的作用
    防止启动多个进程副本
  • pid文件的原理
    进程运行后会给.pid文件加一个文件锁,只有获得该锁的进程才有写入权限(F_WRLCK),把自身的pid写入该文件中。
    其他试图获得该锁的进程会自动退出。

3.Hadoop中pid文件存储


  • 简介:
    Hadoop启动后相关进程的PID文件默认配置是保存在 /tmp 目录下,使用stop-all.sh,stop-dfs.sh,stop-yarn.sh脚本来停止相关进程是通过对应的pid文件来停止的,而Linux下 /tmp 目录有定时清理的机制,所以为了防止停止进程时出现no namenode to stop等报错,我们应该更改进程pid文件存储的位置。
  • 更改方法:

[hadoop@hadoop000 ~]$ mkdir -p /opt/software/hadoop-2.8.1/pids
[hadoop@hadoop000 ~]$ jps
10512 ResourceManager
8018 Jps
10004 SecondaryNameNode
9655 NameNode
9806 DataNode
10623 NodeManager
[hadoop@hadoop000 ~]$ cd /opt/software/hadoop-2.8.1/sbin/
[hadoop@hadoop000 sbin]$ ./stop-dfs.sh
[hadoop@hadoop000 sbin]$ ./stop-yarn.sh
#更改HADOOP_PID_DIR
[hadoop@hadoop000 sbin]$ vi hadoop-daemon.sh
HADOOP_PID_DIR=/opt/software/hadoop-2.8.1/pids
#更改YARN_PID_DIR
[hadoop@hadoop000 sbin]$ vi yarn-daemon.sh
YARN_PID_DIR=/opt/software/hadoop-2.8.1/pids
[hadoop@hadoop000 sbin]$ ./start-dfs.sh
[hadoop@hadoop000 sbin]$ ./start-yarn.sh
[hadoop@hadoop000 sbin]$ jps
9201 SecondaryNameNode
9425 ResourceManager
9540 NodeManager
9828 Jps
8852 NameNode
8973 DataNode
#发现pid存储在新的位置
[hadoop@hadoop000 sbin]$ cd /opt/software/hadoop-2.8.1/pids/
[hadoop@hadoop000 pids]$ ll
total 20
-rw-rw-r-- 1 hadoop hadoop 5 May 22 20:14 hadoop-hadoop-datanode.pid
-rw-rw-r-- 1 hadoop hadoop 5 May 22 20:14 hadoop-hadoop-namenode.pid
-rw-rw-r-- 1 hadoop hadoop 5 May 22 20:14 hadoop-hadoop-secondarynamenode.pid
-rw-rw-r-- 1 hadoop hadoop 5 May 22 20:15 yarn-hadoop-nodemanager.pid
-rw-rw-r-- 1 hadoop hadoop 5 May 22 20:15 yarn-hadoop-resourcemanager.pid


目录
相关文章
|
7天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
30 3
|
7天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
25 2
|
7天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
26 3
|
10天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
29 6
|
10天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
36 6
|
11天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
42 5
|
11天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
151 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
19天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
68 2