Hadoop集群搭建

Hadoop集群搭建


.环境介绍

     集群中包括四个节:一个Master,三个Salve。四个节点上均是CentOS6.4系统。Master机器主要配置NameNodeJobTracker的角色,负责总管分布式数据和分解任务的执行;3Salve机器配置DataNodeTaskTracker的角色,负责分布式数据存储以及任务的执行。

     节点的机器名和IP地址对应关系如下:

             机器名 IP

     master 10.255.24.191

     slave1 10.255.24.192

     slave2 10.255.24.193

     slave4 10.255.24.194


.环境搭建

     1.网络配置部分(master节点为例)

         a.修改当前机器名

             #vim /etc/sysconfig/network

             HOSTNAME=master

         b.配置当前机器IP

             #vim /etc/sysconfig/network-scripts/ifcfg-eth0

             ONBOOT=yes

             BOOTPROTO=static

             IPADDR=10.255.24.191

             NETMASK=255.0.0.0

         c.配置hosts文件

             #vim /etc/hosts, 在文件末尾追加如下内容

             10.255.24.191master

             10.255.24.192slave1

             10.255.24.193slave2

             10.255.24.194slave3

         d.参照上述内容将另外三台机器做相应配置

     2.ssh无需密码登录

         a.配置master无密码登录所有slave节点

             1)生成密钥对

                  [root@master.ssh]# ssh-keygen -t dsa -P ''(一路回车), /root/.ssh目录下产生id_dsaid_dsa.pub

                  两个

             2)将公钥文件分别拷贝到slave1slave2slave3/root/.ssh目录下

                  [root@master.ssh]# scp ./id_dsa.pub root@slave1:/root/.ssh/

                  [root@master.ssh]# scp ./id_dsa.pub root@slave2:/root/.ssh/

                  [root@master.ssh]# scp ./id_dsa.pub root@slave3:/root/.ssh/

             3)在三台slave节点上分别将拷贝过来的id_dsa.pub文件追加到授权文件中

                  [root@slave1.ssh]# cat ./id_dsa.pub >> ./authorized_keys

                  [root@slave2.ssh]# cat ./id_dsa.pub >> ./authorized_keys

                  [root@slave3.ssh]# cat ./id_dsa.pub >> ./authorized_keys

             4)测试是否成功

                  [root@master.ssh]# ssh root@slave1,如果屏幕打印类似如下信息

                  “Lastlogin: … … from master”则表示配置成功

         b.配置slave1无密码登录master节点

             1)生成密钥对

                  [root@slave1.ssh]# ssh-keygen -t dsa -P ''

             2)将公钥文件分别拷贝到master/root/.ssh目录下

                  [root@slave1.ssh]# scp ./id_dsa.pub root@master:/root/.ssh/

             3)在master节点上将拷贝过来的id_dsa.pub文件追加到授权文件中

                  [root@master.ssh]# cat ./id_dsa.pub >> ./authorized_keys

             4)测试是否成功

         c.按照b的方法对slave2slave3进行配置

     3.java环境安装(master节点为例)

         a.jdk的安装

             /opt目录下对jdk-7u25-linux-x64.tar.gz进行解压即完成

             [root@masteropt]# tar -zxf jdk-7u25-linux-x64.tar.gz, /opt目录下会出现目录jdk1.7.0_25

         b.配置环境变量

             [root@masteropt]# vim /etc/profile, 在文件末尾追加如下内容:

             #setjava environment

             exportJAVA_HOME=/opt/jdk1.7.0_25

             exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

             exportPATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

         c.重启系统,进行验证

             [root@masteropt]# java -version, 如果屏幕打印出java的版本信息则说明jdk安装和配置成功

         d.按照相同的方法对三台slave节点进行jdk的安装和配置

     4.hadoop的安装和配置(master节点为例)

         a./opt目录下对hadoop-1.2.1.tar.gz进行解压

             [root@masteropt]# tar -zxf jdk-7u25-linux-x64.tar.gz, /opt目录下会出现目录hadoop-1.2.1,我把该目录重

             新命名为hadoop121

         b./opt/hadoop121目录下创建tmp文件夹(记住它的路径,用于设置dfs.tmp.dir属性)

         c./opt/hadoop121目录下创建hdfs文件夹(记住它的路径,后续会用到)

         d.配置hadoop的环境变量

             [root@masteropt]# vim /etc/profile, 在文件末尾追加如下内容:

             #sethadoop path

             exportHADOOP_HOME=/opt/hadoop121

             exportPATH=$PATH:$HADOOP_HOME/bin

         e.重启是环境变量生效

         f.配置hadoop

             1)配置/opt/hadoop121/conf/hadoop-env.sh在文件末尾追加如下信息:

                 #setjava environment

                 exportJAVA_HOME=/opt/jdk1.7.0_25

             2)配置/opt/hadoop121/conf/core-site.xml在文件的<configuration></configration>区段内添加如下内容

                 <property>

                     <name>hadoop.tmp.dir</name>

                     <value>/opt/hadoop121/tmp</value>

                 </property>

                 <!--filesystem properties-->

                 <property>

                     <name>fs.default.name</name>

                     <value>hdfs://10.255.24.191:9000</value>

                 </property>

             3)配置/opt/hadoop121/conf/hdfs-site.xml在文件的<configuration></configration>区段内添加如下内容

                 <property>

                     <name>dfs.replication</name>

                     <value>3</value>

                 </property>

                

                 <!--namenode set-->

                

                 <!--datanode set-->

                说明:replication是数据的副本数量,默认为3slave节点少于设定的 之就会报错,要跟据实际情况进行设定。

             4)配置/opt/hadoop121/conf/mapred-site.xml在文件的<configuration></configration>区段内添加如下内容

                 <property>

                     <name>mapred.job.tracker</name>

                     <value>http://192.168.1.2:9001</value>

                 </property>

         g.按照上述a-f步,对三个slave节点进行hadoop安装和配置

         h.补充对/opt/hadoop121/conf/hdfs-site.xml文件的配置

             1master节点在文件的<!--namenode set--> 行下补充如下内容

                 <property>

                     <name>dfs.name.dir</name>

                     <value>/opt/hadoop121/hdfs/name1,/opt/hadoop121/hdfs/name2</value>

                 </property>

                 说明:指定hdfs文件系统的元数据保存的目录,我指定了两个,用于做备份

             2)所有slave节点在文件的<!--datanode set--> 行下补充如下内容

                 <property>

                     <name>dfs.data.dir</name>

                     <value>/opt/hadoop121/hdfs/data1,/opt/hadoop121/hdfs/data2</value>

                 </property>

                 说明:指定hdfs文件系统的数据存储目录,data1data2应该为不同分区上的目录

         i.master和所有slave节点上配置/opt/hadoop121/conf/masters文件

             将文件中的‘localhost’修改为master节点的ip10.255.24.191

         j.仅在master节点上配置/opt/hadoop121/conf/slaves文件

             去掉文件中的‘localhost’,加入集群中所有slave节点的ip,每行一个

             如: 10.255.24.192

                  10.255.24.193

                  10.255.24.194

     5.启动及验证集群

             a.格式化hdfs文件系统(仅在master执行,且仅执行一次)

                 [root@masterhadoop121]# ./bin/hadoop namenode -format, 完成后master节点的/opt/hadoop121/hdfs

                 会自动创建name1,name2两个文件夹

             b.关闭所有机器的防火墙   
                 serviceiptables stop

             c.启动hadoop集群(在master节点上执行)

                 [root@masterhadoop121]# ./bin/start-all.sh

                 master会根据配置,通过ssh启动相关的slave节点

             d.验证hadoop(在master上执行)

                 [root@masteropt]# hadoop dfsadmin -report

                 会看到集群的状态,检查屏幕打印的node节点的信息,看看哥哥slave是否处 于活跃状态。


系统成功启动后,每个slave节点的/opt/hadoop121/hdfs下会自动创建 data1data2两个文件夹。





            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值