安装好Hadoop后我们可以使用开机自启动的方式,节约敲命令的时间。注意是centOS7版本!!!和centOS6版本区别非常大!!!
1、切换到系统目录
[root@master ~]# cd /etc/systemd
[root@master systemd]# ll
total 32
-rw-r--r-- 1 root root 720 Jun 30 23:11 bootchart.conf
-rw-r--r-- 1 root root 615 Jun 30 23:11 coredump.conf
-rw-r--r-- 1 root root 983 Jun 30 23:11 journald.conf
-rw-r--r-- 1 root root 957 Jun 30 23:11 logind.conf
drwxr-xr-x. 10 root root 4096 Aug 5 10:48 system
-rw-r--r-- 1 root root 1552 Jun 30 23:11 system.conf
drwxr-xr-x. 2 root root 4096 Jun 30 23:11 user
-rw-r--r-- 1 root root 1127 Jun 30 23:11 user.conf
/lib和/etc下面均有system目录,/etc的配置会覆盖/lib下的配置。
注意看有两个目录,system是系统目录,即不需要登录用户即可开机自启动;user是用户目录,登录后启动任务。
2、切换到user
目录,新建文件,注意以.service结尾(.service是为了提高可读性)
[root@master system]# cd ./user
[root@master user]# vim hadoop.service
3、编辑输入:
#Unit表明该服务的描述,类型描述。
[Unit]
Description=hadoop #描述服务名
After=network.target #服务级别,低于network,也可以理解为network启动后再启动Hadoop
#关键部分,用于设置一些关键参数
[Service]
Type=forking #以fork方式从父进程创建子进程
User=root
Group=root
ExecStart=/usr/local/hadoop-2.7.3/sbin/start-all.sh #启动目录
ExecStop=/usr/local/hadoop-2.7.3/sbin/stop-all.sh
PrivateTmp=true #是否给服务分配独立的临时空间
#Install定义如何启动,以及是否开机启动
[Install]
WantedBy=multi-user.target #当前 Unit 激活时(enable)符号链接目录
保存退出
4、赋予权限754
chmod 754 hadoop.service
5、设置开机启动
systemctl enable hadoop.service #关闭自启动:disable
这时系统会将我们设置WantedBy
的指向值的地址,出现这行提示即为设置成功!
Created symlink from /etc/systemd/system/multi-user.target.wants/hadoop.service to /usr/lib/systemd/system/hadoop.service.
完成后不仅会开机自启动,我们还可以使用systemctl start hadoop.service
启动服务,status
查看启动情况。
更多命令
任务 | centOS6 | centOS7 |
---|---|---|
使某服务自动启动 | chkconfig --level 3 hadoop on | systemctl enable hadoop.service |
使某服务不自动启动 | chkconfig --level 3 hadoop off | systemctl disable hadoop.service |
检查服务状态 | service hadoop status | systemctl status hadoop.service (服务详细信息)systemctl is-active hadoop.service(仅显示是否Active) |
显示所有已启动的服务 | chkconfig --list | systemctl list-units --type=service |
启动某服务 | service hadoop start | systemctl start hadoop.service |
停止某服务 | service hadoop stop | systemctl stop hadoop.service |
重启某服务 | service httpd restart | systemctl restart httpd.service |
关于更多system
的信息,或者想要了解开机自启文件配置内容意义的同学,可以访问这篇文章:Systemd 入门教程:命令篇。里面有非常多的知识点。贴张图给大家康康吧