[置顶] 4台Hadoop集群完全分布式搭建

一、集群拓扑结构


集群软件,如下所示:

  1. jdk-1.7.0
  2. hadoop-0.20.2
  3. mahout-0.5.0
  4. ubuntu-12.04
说明:
(1)四台计算机的用户名均为computer。
(2)所有软件均放在/home/computer/目录下面。
(3)master的作用是NameNode,Secondary,JobTracker。
(4)slaver1,slaver3,slaver4的作用是DataNode,TaskTracker。

二、准备工作

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,如果没有报错,那么配置成功。

你可能感兴趣的:(java,hadoop,集群,Mahout,drcp)