代码改变世界

Hadoop完全分布分布式配置

2017-04-09 15:37  没有波澜的天空  阅读(778)  评论(0编辑  收藏  举报

1、准备三台虚拟机、安装Ubuntu操作系统,具体过程省略

2、三台虚拟机上分别安装Java环境,具体过程省略(保证三者的Java路径一致)

3、三台机器分别配置ssh本机免密码登录

  (1)安装ssh 

    执行命令:sudo apt-get install ssh

  (2)生成ssh公私钥对

    执行命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

  (3)实现本机免密码登录

    执行命令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

  (4)测试

    执行命令:ssh localhost

    如果出现 Last login: Sun Apr  9 08:33:24 2017 from localhost说明配置没有问题

4、配置host(主从都要改)

  执行 sudo gedit /etc/hosts

  在打开的文件夹中添加

  192.168.181.131 slave1
  192.168.181.132 slave2

  两个IP是你从机的IP地址(通过ifconfig命令查看IP)

5、实现主机免密码访问从机

  (1)执行命令:

    scp authorized_keys slave1:~/.ssh/

    scp authorized_keys slave2:~/.ssh/

    实现将主机的公钥加到两台从机的公钥的认证文件中

  (2)测试

    分别执行命令:

    ssh slave1 

    ssh slave2

    如果出现 Last login: Sun Apr  9 08:33:24 2017 from localhost

    说明配置没有问题

6、安装hadoop 

下载,执行命令tar xzvf hadoop-1.0.1.tar.gz(我用的是1.0.1)

7、修改配置文件

(1)hadoop-env.sh

添加export JAVA_HOME=/home/wyh/hadoop/jdk1.6.0_45

(2)core-site.xml

<configuration>
    <property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description>change your own hostname</description>
    </property>
    <property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
    </property> 
</configuration>

 (3)hdfs-site.xml

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

(4)mapred-site.xm

<configuration>
    <property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
<description>change your own hostname</description>
    </property>
</configuration>

(5)master

将masters里的localhost改成master

(6)slaves

将slaves里的localhost改成
slave1
slave1
 
7、从主向从复制Hadoop
sudo scp -r hadoop-1.0.1 wyh@slave1:~/hadoop
sudo scp -r hadoop-1.0.1 wyh@slave2:~/hadoop
 
8、格式化hadoop
三台机器执行 bin/hadoop namenode -format
 
9、启动hadoop
主机执行:bin/start-all.sh
 
10 、查看效果
访问master:50030以及master:50070 ,如果能够访问,说明配置成功