hadoop集群搭建--于虚拟机中

hadoop集群搭建--于虚拟机中

1、下载的软件: VMware Workstation  ubuntu   SUN-JDK  Hadoop,可到官网下载

 2、安装 VMwareWorkstation 虚拟机,并建立 Master 虚拟主机(记住,先是建立一个虚拟机,然后在这个基础上进行clone,这样就能利用已建好的虚拟机,以及在其上安装好的软件和相关配置,达到复用的效果),同时,在建立虚拟机时应该选择桥接模式,原因不在叙述,可查看相关资料

3、在Master主机下,建立hadoop用户(可以选择其他的),以及hadoop组,(在Hadoop集群中建立相同的用户以及组是基本要求)

4、Hadoop  集群 IP地址分配:
     192.168.1.108     master  
     192.168.1.103     node1  
     192.168.1.101     node2
当然,自己可根据自己的IP进行分配,为此,需要在Master主机下修改 /etc/hosts文件,加入上面的配置,同时修改 /etc/hostname 中的内容为 master,至于为什么要选择主机名,而不直接用IP地址,主要是为了直观以及可扩展性

5、在Master主机下安装java,并配置好环境变量,可参考 http://blog.csdn.net/gujincuis/article/details/8182320

6、 在Master主机下安装SSH :
       1) ssh-keygen -t rsa   一路回车下去即可,即可生成公钥(~/.ssh/id_rsa.pub)和私钥(~/.ssh/id_rsa)文件。
       

7、在Master主机下安装好Hadoop
     1) 解压缩  tar -xvzf hadoop-0.20.2.tar.gz  
     2) 配置Hadoop环境变量  修改 ~/.bashrc,在文件最后面加上如下配置:
           export HADOOP_HOME=/home/hadoop/Downloads/hadoop-1.0.4
           export PATH=$PATH:$HADOOP_HOME/bin  
     3) 配置master和slaves文件 修改 hadoop安装目录下的/conf/masters 文件,内容如下所示:
         master,
       以及 hadoop安装目录下的/conf/slaves  文件,内容如下
         node1
         node2
     4) 配置 hadoop安装目录下的/conf/hadoop-env.sh文件,修改 JDK的路径为实际安装路径 , 如下所示:
      export JAVA_HOME=/home/hadoop/Downloads/jdk1.6.0_37
     5) 配置 hadoop安装目录下的conf/core-site.xml文件为:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
     <name>fs.default.name</name>
     <value>hdfs://master:9000</value>
     <description></description>
</property>
<property>
<name>Hadoop.tmp.dir</name>
     <value>/myhadoop</value>
     <description></description>
</property>
</configuration>


     6) 配置 hadoop安装目录下的 conf/hdfs-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
     <name>dfs.replication</name>
     <value>2</value>
</property>


</configuration>


     7) 配置 hadoop安装目录下的 conf/mapred-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>

</configuration>

8、对 Master虚拟主机进行克隆,其节点名称为 node1,node2

9、启动node1,node2虚拟机,并修改node1node2 下的文件:

   1、修改 node1虚拟机下的 /etc/hostname内容为 node1,node2虚拟机下的 /etc/hostnamenode2

   2、在Master虚拟主机下, 添加认证公钥,并设置权限:

         cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  
         chmod 644 ~/.ssh/authorized_keys  

  3、配置集群的SSH服务

(1) 远程拷贝master的公钥到node1结点上

scp ~/.ssh/id_rsa.pub root@node1:/home/hadoop/.ssh/id_rsa.pub.master  

这时,因为结点之间(masternode1)要进行数据交换,需要输入node1结点的登录密码(hadoop用户),才能执行文件的远程拷贝。这里输入密码是正常的,不要与结点之间通过ssh进行无密码公钥认证混淆。注意:分发公钥时,主要修改目标master公钥文件副本名称,以防覆盖掉从结点上已经存在并且正在使用的公钥文件。

同时,node1结点上,将master生成的密钥加入到认证密钥文件:

cat ~/.ssh/id_rsa.pub.master >> ~/.ssh/authorized_keys  

chmod 644 ~/.ssh/authorized_keys  

(2) 远程拷贝master的公钥到node2结点上

scp ~/.ssh/id_rsa.pub hadoop@node2:/home/hadoop/.ssh/id_rsa.pub.master 

同时,node2结点上,将master生成的密钥加入到认证密钥文件

cat ~/.ssh/id_rsa.pub.master >> ~/.ssh/authorized_keys  

chmod 644 ~/.ssh/authorized_keys  

    (3) 这时,可以验证从master结点分别登录到slave-01slave-02结点:

 ssh node1

 ssh node2  

      如果不需要输入密码,则配置成功


10 启动 Hadoop 集群服务

   cd /home/hadoop/Downloads/hadoop-1.0.4

   ./hadoop namenode -format  (注:运行hadoop之前一定要格式化创建相关文件)

   ./start-all.sh


11 停止hadoop 集群服务

  ./stop-all.sh

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值