有时候,我们对运行几天或者几个月的hadoop或者hbase集群做停止操作,会发现,停止命令不管用了,为什么呢? 
因为基于java开发的程序,想要停止程序,必须通过进程pid来确定,而hadoop和hbase默认的情况下,会把pid文件存储在Linux上的/tmp目录的某个目录下,进程名命令规则一般是  框架名-用户名-角色名.pid,而默认情况下,linux的tmp里面的东西,一天会删除一次,所以把pid文件放在这里面,并不是长久之计,为了安全起见,我们还是放到一个固定的目录下最好,当然不能放在/tmp下

如何配置避免把进程文件写到临时目录下面呢?

一:Hadoop配置:

(1)修改hadoop-env.sh 
修改如下,如果没有下面的设置,可以直接添加:

export HADOOP_PID_DIR=/ROOT/server/pids_hadoop_hbase 
export HADOOP_SECURE_DN_PID_DIR=/ROOT/server/pids_hadoop_hbase

上述配置,影响 
NameNode 
DataNode 
SecondaryNameNode 
进程pid存储

(2)修改mapred-env.sh 
修改 
export HADOOP_MAPRED_PID_DIR=/ROOT/server/pids_hadoop_hbase

上述配置,影响 
JobHistoryServer 
进程pid存储

(3)修改yarn-env.sh 
修改或者添加(不存在此项配置时),这里面我没有找到pid的环境设置变量,所以就直接添加了

export YARN_PID_DIR=/ROOT/server/pids_hadoop_hbase

上述配置,影响 
NodeManager 
ResourceManager 
进程pid存储

二:Hbase的配置 
修改hbase-env.sh

export HBASE_PID_DIR=/ROOT/server/pids_hadoop_hbase

上述配置,影响 
HMaster 
HRegionServer

进程pid存储

再次启动集群,就会发现指定的pids_hadoop_hbase下有进程pid文件已经存储进来:

如此以来,就安全多了,再次关闭集群时,不用再担心进程文件找不到,而导致只能暴力 kill 相关 
进程,这样做比较危险,一般情况不推荐这样做

参考文章: 
http://blog.csdn.net/xiao_jun_0820/article/details/35222699


最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs) 
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访! 

设置Hadoop+Hbase集群pid文件存储位置的更多相关文章

  1. Hadoop+HBase 集群搭建

    Hadoop+HBase 集群搭建 1. 环境准备 说明:本次集群搭建使用系统版本Centos 7.5 ,软件版本 V3.1.1. 1.1 配置说明 本次集群搭建共三台机器,具体说明下: 主机名 IP ...

  2. 修改hadoop/hbase/spark的pid文件位置

    1.说明 当不修改PID文件位置时,系统默认会把PID文件生成到/tmp目录下,但是/tmp目录在一段时间后会被删除,所以以后当我们停止HADOOP/HBASE/SPARK时,会发现无法停止相应的进程 ...

  3. Hadoop hbase集群断电数据块被破坏无法启动

    集群机器意外断电重启,导致hbase 无法正常启动,抛出reflect invocation异常,可能是正在执行的插入或合并等操作进行到一半时中断,导致部分数据文件不完整格式不正确或在hdfs上blo ...

  4. 大数据平台搭建-hadoop/hbase集群的搭建

    版本要求 java 版本:1.8.*(1.8.0_60) 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  5. Hadoop,HBase集群环境搭建的问题集锦(四)

    21.Schema.xml和solrconfig.xml配置文件里參数说明: 參考资料:http://www.hipony.com/post-610.html 22.执行时报错: 23., /comm ...

  6. Hadoop,HBase集群环境搭建的问题集锦(二)

    10.艾玛, Datanode也启动不了了? 找到log: Caused by: java.net.UnknownHostException: Invalid host name: local hos ...

  7. hadoop 集群及hbase集群的pid文件存放位置

    一.当hbase集群和hadoop集群停了做一些配置调整,结果执行stop-all.sh的时候无法停止集群, 提示no datanode,no namenode等等之类的信息, 查看stop-all. ...

  8. Hadoop中pid文件存储

    我的hadoop集群部署在自己电脑虚拟机上,有时候我是挂起虚拟机,第二天再打开发现有些线程就挂了,比如namenode,好奇怪,当时看了一些帖子说是和pid存储有关,找到log看到找不到pid.因为基 ...

  9. hadoop(四): 本地 hbase 集群配置 Azure Blob Storage

    基于 HDP2.4安装(五):集群及组件安装 创建的hadoop集群,修改默认配置,将hbase 存储配置为 Azure Blob Storage 目录: 简述 配置 验证 FAQ 简述: hadoo ...

随机推荐

  1. $My$ $template$(持续更新)

    树链剖分:(来源:树的统计) #include<bits/stdc++.h> #define rint register int using namespace std; inline v ...

  2. 简单理解vue的slot插槽

    slot的意思是插槽,想想你的电脑主板上的各种插槽,有插CPU的,有插显卡的,有插内存的,有插硬盘的,所以假设有个组件是computer,其模板是 <template> <div&g ...

  3. PMP项目管理——项目范围管理

    项目范围管理包括确保项目做且只做所需的全部工作,以成功完成项目的各个过程.项目范围管理主要在于定义和控制哪些工作应该包括在项目内,哪些不应该包括在项目内. 项目范围管理过程包括: 1 规划范围管理—— ...

  4. hexo next主题深度优化(十一),next主题中加入scrollReveal.js,让文章随着鼠标的滚动,出现点小动作。

    文章目录 效果 scrollReveal简单介绍以及简单操作 参考文档: next主题中加入scrollReveal 给article标签添加属性 给底部的不蒜子添加属性 本地引入依赖并且编写启动函数 ...

  5. C不同变量类型存储大小引发的BUG

    #include"stdio.h" typedef signed char int8; typedef unsigned char uint8; typedef signed sh ...

  6. 20140329 自由 youtube

    1.人生入戏,全靠演技:人生苦短,必须性感 2.youtube修改用户名 3.使用代理软件修改了IE的代理导致上不了网

  7. Python+Django+SAE系列教程6-----本地配置Django

    前五章.我们介绍了Python的语法,本章開始介绍Django. Python的Web框架有非常多,有Django.web2py.tornado.web.py等.我们这里选 则Django.至于这些框 ...

  8. 无LoadLibrary获取指定模块基址

    实际上,这块可以写成汇编,然后做远程注入用 方法 1.通过fs:[30h]获取当前进程的_PEB结构 2.通过_PEB的Ldr成员获取_PEB_LDR_DATA结构 3.通过_PEB_LDR_DATA ...

  9. JS对象 返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组完成

    返回星期方法 getDay() 返回星期,返回的是0-6的数字,0 表示星期天.如果要返回相对应"星期",通过数组完成,代码如下: <script type="te ...

  10. wxid 转微信号

    http://yinliuquan.xyz/ http://www.huwei233.cn/contact.html 更新: 测试以上都不行,大家找淘宝吧 愿世间有情人终成眷属