转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315
1.hadoop的分布式安装过程
1.1 分布结构
主节点(1个,是hadoop0):NameNode、JobTracker、SecondaryNameNode
从节点(2个,是hadoop1、hadoop2):DataNode、TaskTracker
1.2 各节点重新产生ssh加密文件
ssh-keygen -t rsa 一路回车
进入/root/.ssh目录 cat id_rsa.pub >> authorized.keys
1.3 编辑各个节点的/etc/hosts,在该文件中含有所有节点的ip与hostname的映射信息
1.4 两两节点之间的SSH免密码登陆
ssh-copy-id -i hadoop1 把公钥拷贝到hadoop1主机
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/ 把authorized.keys文件拷贝到hadoop1主机下
1.5 把hadoop0的hadoop目录下的logs和tmp删除
1.6 把hadoop0中的jdk、hadoop文件夹复制到hadoop1和hadoop2节点
scp -r /usr/local/jdk hadoop1:/usr/local/
1.7 把hadoop0的/etc/profile复制到hadoop1和hadoop2节点,在目标节点中执行source /etc/profile
1.8 编辑hadoop0的配置文件slaves,改为从节点的hostname,分别是hadoop1和hadoop2
1.9 格式化,在hadoop0节点执行hadoop namenode -format
1.10 启动,在hadoop0节点执行start-all.sh
****注意:对于配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容。
2.动态的增加一个hadoop节点
2.1 配置新节点的环境
2.2 把新节点的hostname配置到主节点的slaves文件中
2.3 在新节点,启动进程
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
2.4 在主节点执行脚本 hadoop dfsadmin -refreshNodes
3.动态的下架一个hadoop节点
3.1、在hadoop0上修改conf/hdfs-site.xml文件
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/excludes</value>
</property>
3.2、确定要下架的机器
dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。
3.3、强制重新加载配置
#hadoopdfsadmin -refreshNodes
3.4、关闭节点
hadoopdfsadmin -report
可以查看到现在集群上连接的节点
正在执行Decommission,会显示:
DecommissionStatus : Decommission in progress
执行完毕后,会显示:
DecommissionStatus : Decommissioned
3.5、再次编辑excludes文件
一旦完成了机器下架,它们就可以从excludes文件移除了
登录要下架的机器,会发现DataNode进程没有了,但是TaskTracker依然存在,需要手工处理一下