读书人

hadoop环境配备(集群版)

发布时间: 2012-09-15 19:09:28 作者: rapoo

hadoop环境配置——(集群版)

?

?? ? 这个寒假我们根据自己的摸索,我们克服了很多困难,最后终于搭建起了属于我们自己的云,虽然我们的“小云”经常出一些莫名其妙的问题,但是我觉得对我们来说她很有意义,写这篇博客分享一下那些天我们一起搭建的云,希望对那些想要搭建hadoop集群的朋友有帮助!

hadoop集群配置的步骤:

(1)修改机器的IP地址等信息

首先要分配集群机器的IP,给每台机器绑定IP,至于怎么绑定IP大家可以自己查资料,以我们的集群为例,我们总共准备了十台机器,依次将机器的IP地址改为192.168.1.2-192.168.1.11,

然后是确定namenode,secondarynamenode和datanode(namenode机器的性能要好一点,因为它是这个集群的大脑),我们是选定11号机器为namenode,10号机器作为secondarynamenode,其他的为datanaode

(2)配置namenode的hosts文件

命令:sudo gedit /etc/hosts

修改文件如下:

?

127.0.0.1 localhost127.0.1.1 ubuntu.ubuntu-domain ubuntu192.168.1.11 master192.168.1.7 s7192.168.1.4 s4192.168.1.2 s2192.168.1.3 s3192.168.1.5 s5192.168.1.6 s6192.168.1.8 s8192.168.1.9 s9192.168.1.10 s10 # The following lines are desirable for IPv6 capable hosts::1     ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters
?

?

(3)配置namenode的masters和slaves文件

?

cd /usr/local/hadoop

命令:sudo gedit conf/masters

修改如下:

master

命令:sudo gedit conf/slaves

?

s2s3S4s5S6S7S8S9

?

?

?

(4)配置namenode的core-site、mapred-site、hdfs-site文件

命令:sudo gedit conf/core-site.xml

?

 <configuration>     <property>         <name>fs. default .name</name>           <value>hdfs:// master :9000</value>        </property>      <property>            <name>dfs.replication</name>             <value>1</value>      </property>      <property>    

?

?


hdfs:// master :9000表示namenode的主机和端口

dfs.replication表示hdfs中文件备份个数。

命令:sudo gedit conf/mapred-site.xml

?

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

?

?mapred.job.tracker表示JobTracker的主机和端口;

命令:sudo geidt conf/hdfs-site.xml ??

?

property>           <name> dfs.name.dir </name>           <value> /home/hadoop/hdfs/name </value>      </property>          <property>           <name> dfs.data.dir </name>           <value> /home/hadoop/hdfs/data </value>      </property>   

?

?

dfs.name.dir 表示 NameNode 持久存储名字空间及事务日志的本地文件系统路径。

dfs.data.dir表示 DataNode 存放块数据的本地文件系统路径 ??

?(5)从namenode远程拷贝上述文件给所有的datanode

拷贝hosts给datanode

命令:scp /etc/hosts hadoop@datanode名:/etc/hosts

拷贝core-site.xml给datanode

命令:scp conf/core-site.xml hadoop@datanode名:/usr/local/hadoop/conf/core-site.xml

?拷贝mapred-site.xml给datanode

命令: scp conf/mapred-site.xml hadoop@datanode名:/usr/local/hadoop/conf/mapred-site.xml

拷贝hdfs-site.xml给datanode

命令:scp conf/hdfs-site.xml hadoop@datanode名:/usr/local/hadoop/conf/hdfs-site.xml

(6)在namenode上生成公钥,远程拷贝到datanode上,实现无验证登陆

?1. ?生成公钥

命令: ssh-keygen -t dsa -P "" -f ~/.ssh/id_ r sa ? ?

?2. ?远程拷贝

命令: scp ?~/.ssh/id_rsa.pub hadoop@s2 ?~/.ssh/ ? ?

?3. ?data结点上添加到收信任列表

命令: cat ?~/.ssh/id_rsa.pub >> ?~/.ssh/authorizedkeys

(7)集群内节点的连接测试

命令:ssh datanode名

如果能从namenode无验证登录到所有的datanode上,那么说明集群实现了无验证登陆

(8)配置SecondaryNamenode

修改masters 文件,改为 s10

修改hdfs-site.xml 文件

?

<property>           <name>dfs.http.address</name>           <value> 192.168.1.11 :50070</value> > </property>
?

?

(9)集群启动和停止的测试

1.namenode启动之前做一次 block 负载均衡

?命令:sudo gedit ?conf/hdfs-site.xml

修改如下

?

<property>                  <name>dfs.balance.bandwidthPerSec</name>                  <value>10485760</value>                  <description>                    Specifies the maximum bandwidth that each datanode                    can utilize for the balancing purpose in                        term of the number of bytes per second.                  </description>  </property>  

?

?

命令:bin/start-balancer.sh

在新的结点上启动datanode?

命令:bin/hadoop-daemon.sh start datanode ?

启动tasktracker

命令:bin/hadoop-daemon.sh start tasktracker?

启动SecondaryNameNode

命令: bin/hadoop-daemon.sh start SecoondaryNameNode

启动namenode

命令:bin/start-dfs.sh ?

查看namenode的连接情况

命令:bin/hadoop dfsadmin -report

? ? ? 以上就是集群配置的步骤,由于写这篇博客的时候集群正在修复中,所以没有一步步截图,不能让大家看到集群跑起来的情况,之后我会更新这篇博客,敬请期待!







?

?

读书人网 >编程

热点推荐