我创建了一个服务来启动和停止与我的spark群集关联的hdfs。 服务:
[Unit]
Description=Hdfs service
[Service]
Type=simple
WorkingDirectory=/home/hduser
ExecStart=/opt/hadoop-2.6.4/sbin/start-service-hdfs.sh
ExecStop=/opt/hadoop-2.6.4/sbin/stop-service-hdfs.sh
[Install]
WantedBy=multi-user.target
问题是当我启动服务时,它会在启动后启动和停止! :) 我认为问题是服务的类型,我真的不知道选择什么类型......
谢谢。
最好的问候
答案 0 :(得分:3)
Threre是您的配置中的一些问题,这就是它无法正常工作的原因。
我在hadoop 2.7.3, hive 2.1.1, ubuntu 16.04
用户
hadoop
HADOOP_HOME
是/home/hadoop/envs/dwh/hadoop/
[Unit]
Description=Hadoop DFS namenode and datanode
After=syslog.target network.target remote-fs.target nss-lookup.target network-online.target
Requires=network-online.target
[Service]
User=hadoop
Group=hadoop
Type=forking
ExecStart=/home/hadoop/envs/dwh/hadoop/sbin/start-dfs.sh
ExecStop=/home/hadoop/envs/dwh/hadoop/sbin/stop-dfs.sh
WorkingDirectory=/home/hadoop/envs/dwh
Environment=JAVA_HOME=/usr/lib/jvm/java-8-oracle
Environment=HADOOP_HOME=/home/hadoop/envs/dwh/hadoop
TimeoutStartSec=2min
Restart=on-failure
PIDFile=/tmp/hadoop-hadoop-namenode.pid
[Install]
WantedBy=multi-user.target
清单:
fork
start-dfs.sh
创建的实际pid