1. 安装虚拟机
virtualbox和centos6.9
Centos6.9_x64百度网盘地址:https://pan.baidu.com/s/11RDISh4yB36lVcX_RROSdw
Mac版本的VirtualBox百度网盘下载:https://pan.baidu.com/s/1MaGt8HHP-QSxnkYaDCnQzg
JDK1.7_x64百度网盘下载:https://pan.baidu.com/s/1synxei5fFqsc29BV4RWHjg
Hadoop2.5.2百度网盘下载:https://pan.baidu.com/s/1pNX4hJge8m1DnXm1NOZ8xw
1、网卡配置设置成桥接网卡;
关闭防火墙service iptables stop
永久关闭防火墙关机重启:chkconfig iptables off
关闭SELinux, 将SELINUX设置为disabled
vim /etc/selinux/config
2、Onboot
/etc/sysconfig/network-scripts/ifcfg-eth0文件中的onboot设置为yes
3、配置hosts
192.168.3.170 node1
192.168.3.169 node2
192.168.3.168 node3
192.168.3.167 node4
复制虚拟机后操作
1、修改hostname/etc/sysconfig/network
和/etc/hosts
2、修改MAC地址/etc/sysconfig/network-scripts/ifcfg-eth0
3、删除/etc/udev/rules.d/70-persistent-net.rules
,然后重启reboot
分配四台虚拟机
虚拟机名称 | NameNode | SecondaryNameNode | DataNode |
---|---|---|---|
node1 | True | ||
node2 | True | True | |
node3 | True | ||
node4 | True |
其中分配node1为NameNode;node2为SecondaryNameNode和DataNode;node3和node4为DataNode。
2、 时间同步
时间可以从网上搜索ntp服务器(http://www.ntp.org.cn/pool.php)
$ yum install ntp -y
$ ntpdate -u [URL]
3、 安装jdk1.7
rpm -ivh jdk-7u67-linux-x64.rpm
在/etc/profile/配置JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk/
export PATH=$PATH:$JAVA_HOME/bin
4、配置免秘钥
node1 到node1-node4
# node1上生成id_dsa.pub公钥文件
ssh-keygen
# node1自身免秘钥
ssh-copy-id root@node1
# 发送到node2-node4
ssh-copy-id root@node2
ssh-copy-id root@node3
ssh-copy-id root@node4
5、 node1上传解压Hadoop
# 解压hadoop至home
tar -zxvf hadoop-2.5.2.tar.gz -c /home
# 在/etc/profile中配置
export HADOOP_HOME=/home/hadoop-2.5.2
export PATH=$PATH:$HADOOP_HOME/bin
6、 修改配置文件
6.1 hadoop-env.sh中的JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.7.0_67
6.2 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value> <!-- 配置NN的ip和端口 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value> <!-- 配置hadoop的临时目录 -->
</property>
</configuration>
6.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 配置block默认副本数 -->
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:50090</value><!-- 配置SNN的web-UI端口 -->
</property>
</configuration>
6.4 手动创建masters文件,指定SNN
位于$HADOOP_HOME/etc/hadoop/
下
node2
6.5 手动创建slaves文件,指定DN
位于$HADOOP_HOME/etc/hadoop/
下
node2
node3
node4
7、 同步配置文件
删除share/doc可以减少文件占用
从node1中scp至node2-4
8、格式化NN
$ hdfs namenode -format
9、启动start-dfs.sh
$ start-dfs.sh
10、测试是否成功
访问web-ui:http://node1:50070
访问SNN-web-ui:http://node2:50090