hadoop分布式配置

一、前面的部分见伪分布式配置。

二、实现SSH无密码登录远程主机(只在源主机上配置)

1.  scp authorized_keys slave2:~/.ssh/

     scp '/home/user/.ssh/authorized_keys'  192.168.0.5:~/.ssh/

注意:以上scp命令表示把authoriezd_keys远程复制到对应主机的相应目录下。单引号可以不加。slave2是目的主机的名字,需要在源主机的/etc/hosts下配置slave2以及对应的IP地址 192.168.0.5。不配置时可以直接用IP地址表示。 authorized_keys是用于进行无密码登录远程主机的公钥,在伪分布式配置中生成。

然后使用ssh slave2验证是否可以无密码登录。另外注意提前对每台主机进行改名,即在/etc/hostname下修改主机名。

三、修改hosts文件(每台主机上都配置,分机只需配置源主机和当前分机的名字和IP即可)

1.sudo gedit /etc/hosts 添加上每台主机名字和地址的映射。

192.168.0.4 aklixiaoyao

192.168.0.2 slave1 

192.168.0.5 slave2

四、修改hadoop文件(要在每台机器上都改)

1.修改hdfs-site.xml文件,改为2,表示分布式

configuration>

    

        dfs.replication

        2

   

        

            hadoop.tmp.dir

            /home/user/hadoop/tmp/

        

 

2.修改conf/masters:(源主机,主机)(每台机器上都配置,分机和源主机都配置)

   aklixiaoyao(主机名)

3.修改 conf/slaves: (目的主机,分机)(每台机器上都配置,分机只配置源主机和当前分机的名字即可)

    slave1 

    slave2

4. 修改conf/core-site.xml: (每台机器都配置,注意其中必须填写源主机的名字aklixiaoyao

   

     fs.default.name

         hdfs://aklixiaoyao:9000

   

5.修改conf/mapred-site.xml:(每台机器都配置,注意其中必须填写源主机的名字aklixiaoyao

 

    

        mapred.job.tracker

        aklixiaoyao:9001

    

 

 

五、启动hadoop

1.使用hadoop命令,bin/hadoop/start-all.sh启动hadoop.

2.在主机(源主机)执行jps命令,出现如下结果表示成功

7671 NameNode

7920 SecondaryNameNode

8097 Jps

8006 JobTracker

3.在分机(目的主机)执行jps命令,出现如下结果表示成功

5192 DataNode

5392 Jps

5321 TaskTracker

 注意:如果在源主机上未出现namenode,则原因可能是重启机器时候tmp文件夹清空内容了,目前发现的方法是删除tmp/hadoop-user文件夹,然后执行hadoop命令格式化hadoop文件系统:

bin/hadoop namenode-format.

然后重新启动hadoop即可。

为了防止重启机器时候tmp文件夹清空内容了,可在hdfs-site.xml下创建临时目录:

 

 

    

        dfs.replication

       2

   

        

             hadoop.tmp.dir

            /home/user/software/hadoop-0.20.2/tmp/

        

 

 

 

 

你可能感兴趣的:(云计算和hadoop等)