hadoop集群迁移HDFS数据(namanode和DataNode存放位置)

                               hadoop集群迁移HDFS数据(namanode和DataNode存放位置)

 一、关闭集群(在master主机执行)命令:/data/bigdata/hadoop-2.7.6/sbin/stop-all.sh,问题点:关闭不了出现如下问题(如下图所示)  

hadoop集群迁移HDFS数据(namanode和DataNode存放位置)

 

问题原因在于hadoop启动停止都是通过hadoop-deamon.sh文件,脚本是通过pid文件来停止hadoop服务的。而集群默认配置的pid文件位于/tmp目录下,linux系统默认每30天清理一次/tmp目录下的文件,pid文件丢失将导致无法正确关闭相应进程。

处理办法:

1、由于pid文件已经无法找回,所以只能先用jps获取进程号,然后用kill -9杀掉对应进程,停止集群。

2、要彻底解决这个问题得在集群关闭之前修改conf/hadoop-env.sh文件,增加export HADOOP_PID_DIR=/usr/local/src/hadoop指定pid文件存放路径。

二、在master主机上修改hdfs-site.xml和core-site.xml文件,将local.base.dir属性值(/data/bigdata)改为(/home/hadoop),并将hdfs-site.xml和core-site.xml文件复制到slave1和slave2对应目录文件下。

scp /data/bigdata/conf/hadoop/cluster1/hdfs-site.xml [email protected]:/data/bigdata/conf/hadoop/cluster1/
scp /data/bigdata/conf/hadoop/cluster1/hdfs-site.xml [email protected]:/data/bigdata/conf/hadoop/cluster1/

三、复制data文件到hadoop home目录下(master、slave1、slave2分别执行),命令:cp -r /data/bigdata/data/  /home/hadoop/
四、重启集群(在master主机执行)命令:/data/bigdata/hadoop-2.7.6/sbin/start-all.sh

五、如果Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动yarn,应该在ResouceManager所在的机器上启动yarn。

六、启动JobHistoryServer服务,可以在historyserver的日志中查看运行情况。在namenode上/home/hadoop/bigdata/hadoop-2.7.6/sbin目录下执行命令:mr-jobhistory-daemon.sh start historyserver
六、启动hive beeline,启动beeline顺序:后台运行这两个服务命令:
nohup hive --service metastore >/dev/null &
nohup hive --service hiveserver2  >/dev/null &