千家信息网

简单搭建hadoop运行环境

发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,简单搭建hadoop运行环境Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和Ma
千家信息网最后更新 2024年10月25日简单搭建hadoop运行环境


简单搭建hadoop运行环境


Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构

对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务



一、安装前的准备

已安装"SoftwareDevelopment Workstation"软件包的linux虚拟机3台

jdk-6u45-linux-x64.bin安装包、hadoop-1.0.0.tar.gz安装包

1、设定linux虚拟机IP地址及主机名如下:

主机名  IP地址master 192.168.232.129salve1 192.168.232.130salve2 192.168.232.131

2、向/etc/hosts文件添加内容,使虚拟机之间使用主机名能够互ping(非常重要!!!)

# 可以只修改一个主机的/etc/hosts文件,然后用scp命令远程传输覆盖其他主机的hosts文件[root@master ~]# vim /etc/hostsmaster 192.168.232.129salve1 192.168.232.130salve2 192.168.232.131[root@master ~]# scp /etc/hosts root@salve1:/etc/hosts[root@master ~]# scp /etc/hosts root@salve2:/etc/hosts# 测试[root@master ~]# ping master[root@master ~]# ping salve1[root@master ~]# ping salve2

3、设置三台主机ssh无密码验证配置

# 在master主机上生成密码对[root@master ~]# ssh-keygen -t rsa# 敲两次回车,便会在/root/.ssh目录下生成id_rsa.pub(公钥文件)、id_rsa(私钥文件)# 将公钥文件追加到/root/.ssh/authorized_keys文件中,并测试是否可以实现无密码登录[root@master ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys[root@master ~]# ssh master# 将公钥文件远程传输到salve1、salve2主机上[root@master ~]# scp .ssh/id_rsa.pub root@salve1:/root/.ssh/[root@master ~]# scp .ssh/id_rsa.pub root@salve2:/root/.ssh/# 将传输过来的公钥文件追加到authorized_keys,实现master主机ssh无密码登陆salve1、salve2主机[root@salve1 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys[root@salve2 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys# 测试[root@master ~]# ssh salve1[root@master ~]# ssh salve2# 需要注意的是,以上操作还需要在其他主机上操作一次,以实现三台主机均可以相互无密码登录# 如果在以上操作完成后,出现登录失败的情况,请修改三个主机的ssh配置文件,修改以下参数,并重启ssh服务[root@master ~]# vim /etc/ssh/ssh_configRSAAuthentication yes    # 启用RSA认证PubkeyAuthentication yes # 启用公钥、私钥配对认证[root@master ~]# service sshd restart



二、开始安装配置

1、Java环境安装(如果在安装linux时安装了SoftwareDevelopment Workstation软件包,这一步可跳过)

1.1、安装JDK

所有机器上都要安装JDK,现在就在master主机安装,然后其他主机按照步骤重复进行即可

# 创建/usr/java目录,将jdk-6u45-linux-x64.bin复制到此目录下,赋予执行权限,并执行[root@master ~]# mkdir /usr/java[root@master ~]# cp jdk-6u45-linux-x64.bin /usr/java/[root@master ~]# cd /usr/java/[root@master java]# chmod +x jdk-6u45-linux-x64.bin[root@master java]# ./jdk-6u45-linux-x64.bin[root@master java]# lsjdk1.6.0_45  jdk-6u45-linux-x64.bin# 安装完成后发现当前目录下多了 jdk1.6.0_45 文件夹,安装结束

1.2、配置环境变量

# 编辑/etc/profile文件,在尾部追加以下内容[root@master ~]# vim /etc/profile# set java environmentexport JAVA_HOME=/usr/java/jdk1.6.0_45export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libexport PATH=$PATH:$JAVA_HOME/bin:$$JAVA_HOME/jre/bin# 执行下面命令使其配置立即生效,并进行测试[root@master ~]# source /etc/profile[root@master ~]# java -versionjava version "1.6.0_45"OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

1.3、安装配置其他主机(同上,略)




2、hadoop集群安装配置

2.1、hadoop集群安装

所有机器上都要安装JDK,现在就在master主机安装,然后其他主机按照步骤重复进行即可

# 将软件包解压到/usr/目录下,并重命名[root@master ~]# tar -zxvf hadoop-1.0.0.tar.gz -C /usr/[root@master ~]# cd /usr/[root@master usr]# mv hadoop-1.0.0 hadoop# 在hadoop目录下创建tmp文件夹[root@master usr]# cd hadoop[root@master hadoop]# mkdir tmp

2.2、配置环境变量

# 编辑/etc/profile文件,在尾部追加以下内容[root@master ~]# vim /etc/profile# set hadoop pathexport HADOOP_HOME=/usr/hadoopexport PATH=$PATH:$HADOOP_HOME/bin# 执行下面命令使其配置立即生效[root@master ~]# source /etc/profile

2.3、配置hadoop

1)配置hadoop-env.sh

该文件位于/usr/hadoop/conf目录下

[root@master conf]# vim hadoop-env.sh# 如果是自己配置的JDK,则添加以下内容# set java enviromentexport JAVA_HOME=/usr/java/jdk1.6.0_45# 如果是安装SoftwareDevelopment Workstation软件包,则添加以下内容# set java enviromentexport JAVA_HOME=/usr

2)配置core-site.xml文件

[root@master conf]# vim core-site.xml                        hadoop.tmp.dir                /usr/hadoop/tmp                A base for other temporary directories                                fs.default.name                hdfs://192.168.232.129:9000        

3)配置hdfs-site.xml文件

[root@master conf]# vim hdfs-site.xml                        dfs.replication                1        

4)配置mapred-site.xml文件

[root@master conf]# vim mapred-site.xml                        mapred.job.tracker                http://192.168.232.129:9001        

5)配置masters文件

# 将原来的localhost去掉[root@master conf]# vim masters192.168.232.129  # master主机的IP地址# master    # master主机名(要保证hosts文件已修改)

6)配置salves文件

[root@master conf]# vim slaves192.168.232.130    # salve1的IP地址192.168.232.131    # salve2的IP地址# salve1    # salve1主机名(要保证hosts文件已修改)# salve1    # salve2主机名(要保证hosts文件已修改)

master主机配置完成


2.4、配置salve1主机、salve2主机

# 只需要将配置好的hadoop文件夹远程传输到salve1和salve2上即可[root@master ~]# scp -r /usr/hadoop root@salve1:/usr/[root@master ~]# scp -r /usr/hadoop root@salve2:/usr/# 并且修改salve1主机、salve2主机的/etc/profile文件[root@salve1 ~]# vim /etc/profile# set hadoop pathexport HADOOP_HOME=/usr/hadoopexport PATH=$PATH:$HADOOP_HOME/bin# 执行下面命令使其配置立即生效[root@salve1 ~]# source /etc/profile


配置完成



三、启动及验证


1、格式化HDFS文件系统(只需一次,下次启动不再需要格式化)

[root@master ~]# hadoop namenode -format

2、启动hadoop

[root@master ~]# start-all.sh

3、验证hadoop

3.1、用java自带的jps查看进程

# 在master上查看[root@master ~]# jps5434 JobTracker4447 SecondaryNameNode5221 NameNode5535 Jps# 在salve1上查看[root@salve1 ~]# jps4313 Jps4260 TaskTracker4171 DataNode

3.2、用"hadoop dfsadmin -report"查看Hadoop集群的状态

[root@master ~]# hadoop dfsadmin -report

3.3、用网页查看集群

1)访问http://192.168.232.129:50030

2)访问http://192.168.232.129:50070



0