1.hadoop集群搭建方式
1.1 确定部署三个节点,分别是hadoop0、hadoop1、hadoop2。
其中hadoop0是主节点(NameNode、JobTracker、SecondaryNameNode),hadoop1、hadoop2是从节点(DataNode、TaskTracker)。
1.2 解压的linux镜像文件,自己配置linux的初始化环境,(安装jdk,hadoop,配置ip地址,关闭防火墙,重命名端口,修改Hadoop的一些xml文件,并配置jdk和Hadoop的环境变量)。
1.3 在hadoop0上删除/usr/local/hadoop目录下的logs和tmp文件夹。
在删除之前先要关闭hadoop0上的伪分布的hadoop。操作是:stop-all.sh (开启是:start-all.sh)
1.4 设置各节点之间的ssh免密码登录
(1)在hadoop1上,把hadoop1上的公钥复制给hadoop0,执行命令ssh-copy-id -i hadoop0
(2)在hadoop2上,把hadoop2上的公钥复制给hadoop0,执行命令ssh-copy-id -i hadoop0
(3)把hadoop0上的authorized_keys复制到hadoop1、hadoop2,执行命令
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh
scp /root/.ssh/authorized_keys hadoop2:/root/.ssh
1.5 在hadoop0上修改文件/etc/hosts,内容修改后如下
192.168.80.100 hadoop0
192.168.80.101 hadoop1
192.168.80.102 hadoop2
1.6 复制hadoop0上的/etc/hosts下的配置 到其他hadoop1和hadoop2节点
scp /etc/hosts hadoop1:/etc/
scp /etc/hosts hadoop2:/etc/
1.7 复制hadoop0上的/usr/local/jdk、/usr/local/hadoop到hadoop1、hadoop2的对应目录下
scp -r /usr/local/jdk hadoop1:/usr/local
scp -r /usr/local/jdk hadoop2:/usr/local
scp -r /usr/local/hadoop hadoop1:/usr/local
scp -r /usr/local/hadoop hadoop2:/usr/local
1.8 复制hadoop0上的/etc/profile到hadoop1、hadoop2上,
scp hadoop0:/etc/profile hadoop1:/etc/profile
scp hadoop0:/etc/profile hadoop2:/etc/profile
并且还要在hadoop1、hadoop2上分别执行source /etc/profile
1.9 修改集群的配置信息, 修改hadoop0节点的配置信息,其他节点不必修改
(1)NameNode节点的位置在配置文件$HADOOP_HOOME/conf/core-site.xml中fs.default.name定义的。
(2)JobTracker节点的位置在配置文件$HADOOP_HOME/conf/mapred-site.xml中mapred.job.tracker定义的。
(3)SecondaryNameNode节点的位置在配置文件$HADOOP_HOME/conf/masters定义的,内容修改为hadoop0。
(4)DataNode和TaskTracker节点的位置在配置文件$HADOOP_HOME/conf/slaves定义的,内容修改为hadoop1、hadoop2。
1.10 在hadoop0上执行格式化命令hadoop namenode -format
1.11 在hadoop0上启动集群,执行命令start-all.sh
2.动态增加新的从节点的方法
2.1 确定hadoop0作为从节点
2.2 修改hadoop0上的slaves文件,增加hadoop0
2.3 在hadoop0上启动DataNode、TaskTracker进程,执行命令
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
2.4 在hadoop0上刷新集群节点结构,执行命令
hadoop dfsadmin -refreshNodes
3.修改hello文件副本数为2
hadoop fs -setrep 2 /hello
4.安全模式
集群在刚启动时,会进入安全模式,默认是30秒钟。
在安全模式下,系统对block进行检查。
在安全模式期间,禁止客户端的create、delete操作。
hadoop dfsadmin -safeMode leave(离开安全模式)
hadoop dfsadmin -safeMode get(获取当前安全模式)
hadoop dfsadmin -safeMode enter(进入安全模式)