目录(hadoop全分布)
前期准备:
jdk
hostname
hosts
date
安全机制
firewall
windows 域名映射
节点: node1/2/3/4
全分布分配方案:
NN SNN DN
NODE1 *
NODE2 * *
NODE3 *
NODE4 *
设置时间同步:date -s “xxxx-x-xx xx:xx:xx”
1秘钥分发:
在每个节点上登录一下自己:产生.ssh目录
从node1向node2/node3/node4分发公钥 (公钥的名称要变化)
scp id_dsa.pub node2:pwd
/node1.pub
2各节点把node01的公钥追加到认证文件里:
cat ~/node1.pub >> ~/.ssh/authorized_keys
3复制Hadoop安装目录下的/opt/hadoop-2.6.5/etc下 hadoop 为 hadoop-pseudo(管理脚本只会读取hadoop目录):
cp -r hadoop hadoop-pseudo
4配置full:hadoop 目录下
配置core-site.xml full
配置hdfs-site.xml 副本数 2 snn节点改为node2
配置slaves 2、3、4
5将Hadoop安装目录 /opt/hadoop-2.6.5 分发到其他2,3,4节点
scp -r sxt node2:/opt/
6 将java环境配置:node1分发profile给其他节点,并重读配置文件
scp -r /usr/java node2:/usr java的安装文件
scp /etc/profile node2:/etc/ java的配置文件
. /etc/profile 重新加载环境变量配置文件
格式化集群:hdfs namenode -format
启动集群:start-dfs.sh
Jps 查看各节点进程启动情况
若出现 datanode 未启动的情况,可能是:
namenode和datanode的clusterID不一致导致datanode无法启动.
解决:
1、cat hadoop-2.7.2/dfs/name/current/VERSION 复制namenode的clusterID.
2、用该clusterID把所有datanode节点机器中hadoop-2.7.2/dfs/data/current/VERSION中的clusterID替换掉
3、重新启动start-all.sh