格式化一个新的分布式文件系统:
bin/hadoop namenode -format
bin/start-all.sh 启动 Hadoop 守护进程
bin/stop-all.sh 关闭 Hadoop 守护进程
bin/hadoop fs -put input/ test 往test中存放一些测试数据
运行发行版提供的示例程序:
time bin/hadoop jar hadoop-examples-1.2.1.jar grep test output 'dfs[a-z.]+'
然后在浏览器里就可以查看了
/etc/init.d/rpcbind start
/etc/init.d/nfs start
然后在3 和4上
yum install -y nfs-utils
showmount -e 172.25.254.2 如果有资源证明正常
useradd hadoop
echo westos | passwd --stdin
mount 172.25.254.2:/home/hadoop/ /home/hadoop/
然后再master上关闭hadoop,格式化,重启
bin/hadoop dfsadmin -report 查看信息
在master上在线添加节点 (与上面添加3,4差不多,可由上面的图进行对比)
1. 在新增节点上安装 jdk,并创建相同的 hadoop 用户,uid 等保持一致
2. 在 conf/slaves 文件中添加新增节点的 ip
3. 同步 master 上 hadoop 所有数据到新增节点上,路径保持一致
4. 在新增节点上启动服务:
$ bin/hadoop-daemon.sh start datanode
$ bin/hadoop-daemon.sh start tasktracker
5. 均衡数据:
$ bin/start-balancer.sh
1)如果不执行均衡,那么 cluster 会把新的数据都存放在新的 datanode 上,这样会降低 mapred
的工作效率
2)设置平衡阈值,默认是 10%,值越低各节点越平衡,但消耗时间也更长
$ bin/start-balancer.sh -threshold 5
hadoop 在线删除 datanode 节点:
由上可知 datanode 为两个 172.25.254.3 和 172.25.254.4
现在我们在线去除节点4
1. 在 master 上修改 conf/mapred-site.xml
dfs.hosts.exclude
/home/hadoop/hadoop-1.2.1/conf/datanode-excludes
2. 创建 datanode-excludes 文件,并添加需要删除的主机,一行一个
172.25.254.4
3.此操作会在后台迁移数据,等此节点的状态显示为 Decommissioned,就可以安全关闭了。
这时候172.25.254.4就如下图
Hadoop 在线删除 tasktracker 节点:
1. 在 master 上修改 conf/mapred-site.xml
mapred.hosts.exclude
/home/hadoop/hadoop-1.2.1/conf/tasktracker-excludes
2. 创建 tasktracker-excludes 文件,并添加需要删除的主机名,一行一个
server51.example.com
3. 在 master 上在线刷新节点
$ bin/hadoop mradmin -refreshNodes
4. 登录 jobtracker 的网络接口,进行查看。