$ expect -c "spawn ssh-keygen ; set timeout 5; expect \":\"; send \"\r\n\"; set timeout 3; expect \":\"; send \"\r\n\";set timeout 3; expect \":\"; send \"\r\n\"; expect eof;"
2.4.4 配置ssh免密码认证
看到过许多大牛,都是远程scp把公钥拷贝来拷贝去的。其实openssh客户端应用程序包已经提供了专门的命令来处理这个操作。
[xiaoyu@hadoop03 ~]
$ ssh-copy-id -i .ssh/id_rsa.pub 192.168.88.171
The authenticity of host '192.168.88.171 (192.168.88.171)' can't be established.
RSA key fingerprint is a8:24:3f:34:86:f3:46:67:c0:a6:b0:42:86:a2:f2:c9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.88.171' (RSA) to the list of known hosts.
Address 192.168.88.171 maps to localhost, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Now try logging into the machine, with "ssh '192.168.88.171'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[xiaoyu@hadoop03 ~]$
[xiaoyu@hadoop01 hadoop-1.1.2]
$ scp -r conf hadoop03:~/hadoop-1.1.2/
log4j.properties 100% 4441 4.3KB/s 00:00
capacity-scheduler.xml 100% 7457 7.3KB/s 00:00
configuration.xsl 100% 535 0.5KB/s 00:00
fair-scheduler.xml 100% 327 0.3KB/s 00:00
hdfs-site.xml 100% 319 0.3KB/s 00:00
slaves 100% 18 0.0KB/s 00:00
ssl-server.xml.example 100% 1195 1.2KB/s 00:00
hadoop-policy.xml 100% 4644 4.5KB/s 00:00
taskcontroller.cfg 100% 382 0.4KB/s 00:00
mapred-queue-acls.xml 100% 2033 2.0KB/s 00:00
ssl-client.xml.example 100% 1243 1.2KB/s 00:00
masters 100% 9 0.0KB/s 00:00
core-site.xml 100% 441 0.4KB/s 00:00
hadoop-env.sh 100% 2271 2.2KB/s 00:00
hadoop-metrics2.properties 100% 1488 1.5KB/s 00:00
mapred-site.xml 100% 261 0.3KB/s 00:00
4. 启动新节点
4.1 在新节点启动集群服务
[xiaoyu@hadoop03 hadoop-1.1.2]
$ bin/hadoop-daemon.sh start datanode
starting datanode, logging to /home/xiaoyu/hadoop-1.1.2/libexec/../logs/hadoop-xiaoyu-datanode-hadoop03.out
[xiaoyu@hadoop03 hadoop-1.1.2]
$ bin/hadoop-daemon.sh start tasktracker
starting tasktracker, logging to /home/xiaoyu/hadoop-1.1.2/libexec/../logs/hadoop-xiaoyu-tasktracker-hadoop03.out
5. 检查新节点的启动情况
在这里hadoop01为namenode节点
这里有三种方法,当然执行命令的方法最简便。
5.1 Namenode状态页面:http://hadoop01:50070
具体信息如下图
5.2 Jobtracker状态页面:
http://hadoop01:50030
具体信息如下图:
5.3 任意节点为上执行
$ bin/hadoop dfsadmin -report
Configured Capacity: 32977600512 (30.71 GB)
Present Capacity: 20209930240 (18.82 GB)
DFS Remaining: 20003794944 (18.63 GB)
DFS Used: 206135296 (196.59 MB)
DFS Used%: 1.02%
Under replicated blocks: 1
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 2 (2 total, 0 dead)
Name: 192.168.88.172:50010
Decommission Status : Normal
Configured Capacity: 16488800256 (15.36 GB)
DFS Used: 205955072 (196.41 MB)
Non DFS Used: 6369054720 (5.93 GB)
DFS Remaining: 9913790464(9.23 GB)
DFS Used%: 1.25%
DFS Remaining%: 60.12%
Last contact: Fri Sep 13 03:35:51 CST 2013
Name: 192.168.88.173:50010
Decommission Status : Normal
Configured Capacity: 16488800256 (15.36 GB)
DFS Used: 180224 (176 KB)
Non DFS Used: 6398615552 (5.96 GB)
DFS Remaining: 10090004480(9.4 GB)
DFS Used%: 0%
DFS Remaining%: 61.19%
Last contact: Fri Sep 13 03:35:50 CST 2013
6. 使正在运行的计算分布到新的数据节点上
[xiaoyu@hadoop01 hadoop-1.1.2]$ ./bin/start-balancer.sh
starting balancer, logging to /home/xiaoyu/hadoop-1.1.2/libexec/../logs/hadoop-xiaoyu-balancer-hadoop01.out
[xiaoyu@hadoop01 hadoop-1.1.2]$
这个脚本很有用,大家也可以根据实际需要修改这个脚本。