您的位置:首页 > 运维架构

【Hadoop】设置Hadoop的开机自启动

2017-10-16 18:45 246 查看
对于一个搭建好的Hadoop平台,每次启动都需要输入start-all.sh,很不方便,而只要编写一个简单的脚本文件就能实现Hadoop的开机自启动。具体实现步骤如下:

测试平台:CentOS 6.4

(1)进入到/etc/init.d目录下,编辑一个新的脚本文件hadoop

cd /etc/init.d

vi hadoop

(2)编辑脚本文件hadoop

#!/bin/bash

#chkconfig:35 95 1

#description:script to start/stop hadoop
su - hadoop <<!

case $1 in

start)

sh /usr/hadoop-1.0.4/bin/start-all.sh

;;

stop)

sh /usr/hadoop-1.0.4/bin/stop-all.sh

;;

*)

echo "Usage:$0(start|stop)"

;;

esac
exit

!

(3)保存退出,用chmod修改该文件权限

(4)设置hadoop为开机自启动:chkconfig --add hadoop

然后就能查看到设置好的hadoop服务了:chkconfig --list hadoop

再次重启namenode,登陆后输入jps就直接能看到namenode、jobtrcaker进程了。

注意事项:

1.在启动namenode之前最好先启动几个datanode。

2.用chkconfig添加了hadoop服务后,除了用原来的start-all.sh启动hadoop,还可以用service hadoop start(stop)来控制。

3.脚本文件中要考虑启动hadoop是在root用户下还是普通用户(我的普通用户名叫hadoop)下做的,由于我搭建的hadoop平台在root用户下启动有些问题,所以我在编辑脚本文件时特别注意切换到普通用户下来执行hadoop启动(见脚本中黑体字)

4.linux下设置开机自启动服务的方式很多,比如用chkconfig --add [服务名称] [on|off]来管理系统默认服务的开机与否;比如编辑/etc/rc.d/rc.local

(具体可以参见:http://blog.phpha.com/archives/1458.html)

5.特别注意:CentOS默认防火墙是开启的,而hadoop在防火墙开启时根本没法正常工作,所以记得设置防火墙服务为关闭:chkconfig iptables off
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: