hdfs
#分发配置文件
[hadoop@nn1 hadoop_base_op]$ sh scp_all.sh /tmp/upload/hadoop.zip /tmp
#删除原有的配置文件
[hadoop@nn1 hadoop_base_op]$ sh ssh_all.sh rm -rf /usr/local/hadoop/etc/hadoop/*
#解压
[hadoop@nn1 hadoop_base_op]$ sh ssh_all.sh unzip -d /usr/local/hadoop/etc/ /tmp/hadoop.zip
#修改文件夹权限
[hadoop@nn1 hadoop_base_op]$ sh ssh_all.sh chmod -R 770 /usr/local/hadoop/etc/hadoop/
1.启动zookeeper
2.启动jounalnode
namenode:
fsimage :已经记录完成的元数据
edit_log:新写入
journalnode: 同步两台namenode数据
#启动
[hadoop@nn1 ~]$ sh hadoop-daemon.sh start journalnode
[hadoop@nn2 ~]$ sh hadoop-daemon.sh start journalnode
#初始化zookeeper
[hadoop@nn1 ~]$ hdfs zkfc -formatZK
#链接zookeeper
[hadoop@nn1 ~]$ zkCli.sh -server nn1.hadoop
#查看状态
[zk: nn1.hadoop(CONNECTED) 0] ls /
[zookeeper, hadoop-ha]
[zk: nn1.hadoop(CONNECTED) 1] ls /hadoop-ha/
Command failed: java.lang.IllegalArgumentException: Path must not end with / character
[zk: nn1.hadoop(CONNECTED) 2] ls /hadoop-ha
[ns1]
#格式化
hadoop namenode -format #完成对fsimage的记录
#启动nn1的namenode
[hadoop@nn1 ~]$ hadoop-daemon.sh start namenode
#nn2 跟随nn1的namenode
[hadoop@nn2 ~]$ hadoop-daemon.sh start namenode
3.启动zkfc
两台namenode与zookeeper 保持链接用的一个进程
在那台机器起来的,那天机器就是active
#启动
[hadoop@nn1 ~]$ hadoop-daemon.sh start zkfc
[hadoop@nn2 ~]$ hadoop-daemon.sh start zkfc
采坑
主机的host要和linux的host匹配,否则映射不到
/etc/hosts
启动DataNode
hadoop-daemons.sh start datanode
安装fuser
yum -y install psmisc
#为了nn1和nn2互相转换