你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop完全分布式模式配置

[日期:2012-09-08] 来源:Linux社区  作者:Linux [字体: ]

(1)修改每台机器下/etc文件夹下的hosts文件
127.0.0.1 localhost
192.168.0.5 master
192.168.0.3 slave
192.168.0.102 slave1

(2)SSH配置
在namenode机器的/root文件夹下生成密钥对,执行:
$ ssh-keygen -t rsa
然后一直按Enter键,就会按照默认选项生成密钥对保存在/root/.ssh/id_rsa文件中。

继续执行如下命令,把密钥传递给每个datanode节点:
$ cd ~/.ssh 
$ cp id_rsa.pub authorized_keys
$ scp authorized_keys slave:/root/.ssh/authorized_keys 
$ scp authorized_keys slave1:/root/.ssh/authorized_keys

然后分别在每台datanode机器上执行如下命令,以改变authorized_keys文件的许可权限:
$ chmod 644 authorized_keys

(3)namenode机器上JDK和Hadoop的安装配置
在/etc/profile下加下面几行
export JAVA_HOME=/root/software/jdk1.7.0_02
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export HADOOP_HOME=/root/software/hadoop-0.20.2
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
让后使文件生效
$ source /etc/profile

在hadoop文的件夹下需要建立几个文件夹,如下:
$ mkdir hdfs
$ mkdir hdfs/name
$ mkdir hdfs/data


修改hadoop-env.sh,加入如下语句,使得hadoop能够找到java的路径:
export JAVA_HOME=/root/software/jdk1.7.0_02


修改core-site.xml,如下:
<configuration> 
        <property> 
                <name>fs.default.name</name> 
                <value>hdfs://master:9000</value> 
        </property> 
</configuration>


修改hdfs-site.xml,如下:
<configuration>
        <property>
                <name>dfs.name.dir</name>
                <value>/root/software/hadoop-0.20.2/hdfs/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/root/software/hadoop-0.20.2/hdfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
</configuration>


修改mapred-site.xml,如下:
<configuration> 
        <property> 
                <name>mapred.job.tracker</name> 
                <value>master:9001</value> 
        </property> 
</configuration>


masters里写入作为namenode节点机器的名称,我们这里是:
master
slaves里写入作为datanode节点的机器名,这里是:
master
slave
slave1

(4)datanode机器上的配置
将namenode机器下的jdk文件夹,hadoop文件夹以及/etc/profile文件拷贝到datanode机器上相同的路径下。

(5)到此基本配置已经完成,在namenode端cd到hadoop文件夹下,格式化分布式文件系统:
$ bin/hadoop namenode -format 
下面接着在namenode端启动hadoop进程:
$ bin/start-all.sh


如果没有其它差错的话,hadoop可以正常启动,并能够看到如下结果:
在namenode端用jps命令查看启动情况,如下:
root@master:~/hadoop-0.20.2$ jps 
xxxx Jps 
xxxx Namenode 
xxxx Secondarynamenode 
xxxx JobTracker 


在datanode端用jps查看启动情况,如下:
root@slave:~/hadoop-0.20.2$ jps 
xxxx Jps 
xxxx DataNode 
xxxx TaskTracker


root@slave1:~/hadoop-0.20.2$ jps 
xxxx Jps 
xxxx DataNode 
xxxx TaskTracker


然后可以通过如下地址来查看集群运行状况:
http://master:50030 
http://master:50070 

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款