一、集群拓扑结构
集群软件,如下所示:
1、新建用户组hadoop,并且将computer加入hadoop
(1)sudo addgroup hadoop
(2)sudo gpasswd -a computer hadoop
说明:修改/etc/sudoers文件,在 root ALL=(ALL:ALL) ALL下面添加computer ALL=(ALL:ALL) ALL。4台计算机做同样的配置。
2、配置静态IP地址以及IP到机器名的映射
(1)sudo vim /etc/network/interfaces
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
说明:
其余三台计算机做相应的配置。
(2)sudo vim /etc/hosts
192.168.1.2 master
192.168.1.3 slaver1
192.168.1.5 slaver3
192.168.1.6 slaver4
说明:
4台计算机做同样的配置。
(3)重启网络服务
sudo /etc/init.d/networking restart
3、配置Java环境变量
(1)sudo vim /etc/profile
# set java environment variable
export JAVA_HOME=/home/computer/jdk1.7.0_09
export JRE_HOME=/home/computer/jre
export PATH=$PATH:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
说明:
4台计算机做相同的配置,source /etc/profile命令使文件立即生效,然后在终端输入java,如果没有报错,那么配置成功。
4、配置SSH免密码登录
(1)在/home/computer/下建立.ssh文件夹
mkdir .ssh
(2)安装ssh
sudo apt-get install ssh
(3)生成公钥,私钥对
cd /home/computer/.ssh/
ssh-keygen -t rsa
three enter
(4)添加自己为信任的站点
cat id_rsa.pub >> authorized_keys
说明:
以上(1)-(3)操作在4台计算机上做相同的操作,(4)操作仅在master上进行即可。
(5)将slaver1,slaver3,slaver4上的公钥拷贝到master上
scp computer@slaver1:~/.ssh/id_rsa.pub ~/.ssh/slaver1_rsa.pub
scp computer@slaver3:~/.ssh/id_rsa.pub ~/.ssh/slaver3_rsa.pub
scp computer@slaver4:~/.ssh/id_rsa.pub ~/.ssh/slaver4_rsa.pub
cat slaver1_rsa.pub >> authorized_keys
cat slaver3_rsa.pub >> authorized_keys
cat slaver4_rsa.pub >> authorized_keys
scp authorized_keys computer@slaver1:~/.ssh/
scp authorized_keys computer@slaver3:~/.ssh/
scp authorized_keys computer@slaver4:~/.ssh/
说明:
(5)操作仅在master上进行即可。
三、Hadoop配置
(1)配置Hadoop环境变量
sudo vim /etc/profile
# set hadoop environment variable
export HADOOP_HOME=/home/computer/hadoop-0.20.2
export PATH=$PATH:$HADOOP_HOME/bin:$PATH
(2)更改hadoop-0.20.2文件归属群组
输入sudo chown -R conputer:hadoop /home/computer/hadoop-0.20.2/命令。
(3)修改hadoop-0.20.2/conf/hadoop-env.sh文件
sudo vim /home/computer/hadoop-0.20.2/conf/hadoop-env.sh
说明:
将JAVA_HOME注释去掉,并修改为/home/computer/jdk1.7.0_09。
(4)修改hadoop-0.20.2/conf/core-site.xml文件
复制hadoop-0.20.2/src/core下的core-default.xml到hadoop-0.20.2/conf/下并改名为core-site.xml替换原来的文件。修改属性如下所示:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>/home/computer/hdfs/namesecondary</value>
</property>
(5)修改hadoop-0.20.2/conf/hdfs-site.xml文件
复制hadoop-0.20.2/src/hdfs下的hdfs-default.xml到hadoop-0.20.2/conf下并改名为hdfs-site.xml替换原来的文件。修改属性如下所示:
<property>
<name>dfs.name.dir</name>
<value>/home/computer/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/computer/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(6)修改hadoop-0.20.2/conf/mapred-site.xml
复制hadoop-0.20.2/src/mapred下的mapred-default.xml到hadoop-0.20.2/conf下并改名为mapred-site.xml替换原来的文件。修改属性如下所示:
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
说明:
以上(1)-(2)操作在4台计算机上做相同的配置,(3)-(6)操作仅在master上进行操作即可。然后scp -r ~/hadoop-0.20.2 computer@slaver1:~/;scp -r ~/hadoop-0.20.2 computer@slaver3:~/;scp -r ~/hadoop-0.20.2 computer@slaver4:~/即可(因为复制之后,hadoop-0.20.2归属群组发生变化,所以需要进行(2)操作)。
四、Hadoop测试
(1)格式化HDFS文件系统
hadoop namenode -format
(2)启动所有守护进程
start-all.sh
(3)查看master上的守护进程
输入命令jps即可,如果显示NameNode,SecondaryNameNode,JobTracker表示成功。
(4)查看slaverX上的守护进程
输入命令ssh slaverX,jps,如果显示DataNode,TaskTracker表示成功。
(5)登录HDFS的Web管理页面
http://localhost:50070
(6)登录MapReduce的Web管理页面
http://localhost:50030
五、Mahout搭建
(1)配置Mahout环境变量
sudo vim /etc/profile
# set mahout environment variable
export MAHOUT_HOME=/home/computer/mahout-distribution-0.5
export PATH=$PATH:$MAHOUT_HOME/bin:$PATH
(2)Mahout测试
source /etc/profile命令使文件立即生效,然后在终端输入mahout,如果没有报错,那么配置成功。