参考连接: http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html
1.0环境说明
a) VMware8
b) CentOS-5.8-i386
c) win7-32位-旗舰 4G内存
d) hadoop-1.1.2.tar
e) jdk-6u24-linux-i586.bin
f)SSHSecureShellClient-3.2.9
g) 如下操作都是用root用户
1.1设置ip地址
在创建虚拟机时,使用网卡桥接方式,如下图
在安装好的虚拟机上,设置好IP地址,保证和物理机之间能相互Ping通。
在虚拟机中通过图形界面修改IP后,有时候并没实际修改成,此时建议使用命令来使之生效:
执行命令 service network restart 验证: ifconfig
1.2 关闭防火墙
执行命令 service iptables stop
验证: service iptables status (关闭后的结果为: Filewall is not running)
1.3 关闭防火墙的自动运行
执行命令 chkconfig iptables off
验证: chkconfig --list | grep iptables
如下所示:
[root@localhost local]# chkconfig --list | grep iptables iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@localhost local]# chkconfig iptables off [root@localhost local]# chkconfig --list | grep iptables iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off 命令chkconfig --list | grep iptables 中, |表示管道,即将左侧的输出结果作为右侧的输入, grep表示过滤查找
1.4 设置主机名
执行命令
vi /etc/sysconfig/network 找到HOSTNAME=XX,修改机器文件名为你期待的名称
(eg: HOSTNAME=sliver103),修改后,执行如下命令可确认机器别名是否修改成功
[root@localhost usr]# more /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=sliver103
后执行命令reboot重启机器
重启后,打开命令行,会发现机器名已经做了变更,验证如下:
[root@master ~]# hostname master root@后面的master就是修改后的机器别名, 执行命令hostname也能看到这个机器的别名
1.5 ip与hostname(主机名)绑定
执行命令 vi /etc/hosts
hosts文件内增加第5行内容
2 # that require network functionality will fail. 3 127.0.0.1 localhost.localdomain localhost 4 ::1 localhost6.localdomain6 localhost6 5 192.168.1.112 master
验证: ping master 可以通过
[root@sliver103 ~]# ping master PING master (192.168.1.112) 56(84) bytes of data. 64 bytes from master (192.168.1.112): icmp_seq=1 ttl=64 time=0.035 ms 64 bytes from master (192.168.1.112): icmp_seq=2 ttl=64 time=0.038 ms
1.6 设置ssh免密码登陆
执行命令
(1)ssh-keygen -t rsa 生成ssh秘钥,执行过程中一直回车即可,执行完毕后出现如下信息
Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. 生成key位置 The key fingerprint is: f7:c9:a7:67:23:3b:15:eb:03:00:8d:54:d7:9d:80:5f root@sliver103
(2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
(3) # cd ~/.ssh
(4) [root@master .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
产生 authorized_keys后,就可以实现 ssh 别名免登陆效果
验证: ssh master(master是上面配置的机器别名) 后出现
Are you sure you want to continue connecting (yes/no)? 输入yes后可以免密码登陆成功
1.7 安装jdk
执行命令
(1)cd /usr/local (将原来目录内文件删除)
(2)chmod u+x jdk-6u24-linux-i586.bin (给用户针对jdk-6u24-xxx文件增加执行权限)
(3)./jdk-6u24-linux-i586.bin (解压文件)
(4)mv jdk-1.6.0_24 jdk1.6 (文件重命名)
(5)vi /etc/profile 空白处增加内容如下:
export JAVA_HOME=/usr/local/jdk1.6
export PATH=.:$JAVA_HOME/bin:$PATH
(6)source /etc/profile (刷新环境变量 立即生效)
验证: java -version 出现如下信息
]# java -version java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode, sharing)
1.8 安装hadoop
执行命令
(0)文件拷贝在 /usr/local下
(1)tar -zxvf hadoop-1.1.2.tar.gz
(2)mv hadoop-1.1.2 hadoop
(3)vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
(4)source /etc/profile
(5)修改conf目录下的配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml
(6)[root@master local]# hadoop namenode -format
(7)[root@master hadoop]# sh bin/start-all.sh
(8) 如果关闭的话执行:[root@master hadoop]# sh bin/stop-all.sh
验证: (1)执行命令jps
如果看到5个新的java进程,分别是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker, 命令如下
[root@master local]# jps 7227 Jps 6905 SecondaryNameNode 7087 TaskTracker 6600 NameNode 6795 DataNode 6986 JobTracker
(2)在浏览器查看,
1.9 启动时没有NameNode的可能原因:
(1)没有格式化
(2)环境变量设置错误
(3)ip与hostname绑定失败