qinling072 发表于 2018-10-29 10:32:03

简单搭建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.129
  
salve1 192.168.232.130
  
salve2 192.168.232.131
  2、向/etc/hosts文件添加内容,使虚拟机之间使用主机名能够互ping(非常重要!!!)
# 可以只修改一个主机的/etc/hosts文件,然后用scp命令远程传输覆盖其他主机的hosts文件  
# vim /etc/hosts
  
master 192.168.232.129
  
salve1 192.168.232.130
  
salve2 192.168.232.131
  

  
# scp /etc/hosts root@salve1:/etc/hosts
  
# scp /etc/hosts root@salve2:/etc/hosts
  

  
# 测试
  
# ping master
  
# ping salve1
  
# ping salve2
  3、设置三台主机ssh无密码验证配置
# 在master主机上生成密码对  
# ssh-keygen -t rsa
  
# 敲两次回车,便会在/root/.ssh目录下生成id_rsa.pub(公钥文件)、id_rsa(私钥文件)
  
# 将公钥文件追加到/root/.ssh/authorized_keys文件中,并测试是否可以实现无密码登录
  
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
  
# ssh master
  

  
# 将公钥文件远程传输到salve1、salve2主机上
  
# scp .ssh/id_rsa.pub root@salve1:/root/.ssh/
  
# scp .ssh/id_rsa.pub root@salve2:/root/.ssh/
  
# 将传输过来的公钥文件追加到authorized_keys,实现master主机ssh无密码登陆salve1、salve2主机
  
# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
  
# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
  

  
# 测试
  
# ssh salve1
  
# ssh salve2
  
# 需要注意的是,以上操作还需要在其他主机上操作一次,以实现三台主机均可以相互无密码登录
  

  
# 如果在以上操作完成后,出现登录失败的情况,请修改三个主机的ssh配置文件,修改以下参数,并重启ssh服务
  
# vim /etc/ssh/ssh_config
  
RSAAuthentication yes    # 启用RSA认证
  
PubkeyAuthentication yes # 启用公钥、私钥配对认证
  
# service sshd restart
  二、开始安装配置
  1、Java环境安装(如果在安装linux时安装了SoftwareDevelopment Workstation软件包,这一步可跳过)
  1.1、安装JDK
  所有机器上都要安装JDK,现在就在master主机安装,然后其他主机按照步骤重复进行即可
# 创建/usr/java目录,将jdk-6u45-linux-x64.bin复制到此目录下,赋予执行权限,并执行  
# mkdir /usr/java
  
# cp jdk-6u45-linux-x64.bin /usr/java/
  
# cd /usr/java/
  
# chmod +x jdk-6u45-linux-x64.bin
  
# ./jdk-6u45-linux-x64.bin
  
# lsjdk1.6.0_45jdk-6u45-linux-x64.bin
  

  
# 安装完成后发现当前目录下多了 jdk1.6.0_45 文件夹,安装结束
  1.2、配置环境变量
# 编辑/etc/profile文件,在尾部追加以下内容  
# vim /etc/profile
  
# set java environment
  
export JAVA_HOME=/usr/java/jdk1.6.0_45
  
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  
export PATH=$PATH:$JAVA_HOME/bin:$$JAVA_HOME/jre/bin
  

  
# 执行下面命令使其配置立即生效,并进行测试
  
# source /etc/profile
  
# java -version
  
java 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/目录下,并重命名  
# tar –zxvf hadoop-1.0.0.tar.gz -C /usr/
  
# cd /usr/
  
# mv hadoop-1.0.0 hadoop
  

  
# 在hadoop目录下创建tmp文件夹
  
# cd hadoop
  
# mkdir tmp
  2.2、配置环境变量
# 编辑/etc/profile文件,在尾部追加以下内容  
# vim /etc/profile
  
# set hadoop path
  
export HADOOP_HOME=/usr/hadoop
  
export PATH=$PATH:$HADOOP_HOME/bin
  

  
# 执行下面命令使其配置立即生效
  
# source /etc/profile
  2.3、配置hadoop
  1)配置hadoop-env.sh
  该文件位于/usr/hadoop/conf目录下
# vim hadoop-env.sh  

  
# 如果是自己配置的JDK,则添加以下内容
  
# set java enviroment
  
export JAVA_HOME=/usr/java/jdk1.6.0_45
  

  
# 如果是安装SoftwareDevelopment Workstation软件包,则添加以下内容
  
# set java enviromentexport JAVA_HOME=/usr
  2)配置core-site.xml文件
# 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文件
# vim hdfs-site.xml  

  
      
  
                dfs.replication
  
                1
  
      
  

  4)配置mapred-site.xml文件
# vim mapred-site.xml  

  
      
  
                mapred.job.tracker
  
                http://192.168.232.129:9001
  
      
  

  5)配置masters文件
# 将原来的localhost去掉  
# vim masters
  
192.168.232.129# master主机的IP地址
  
# master    # master主机名(要保证hosts文件已修改)
  6)配置salves文件
# vim slaves  
192.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上即可  
# scp -r /usr/hadoop root@salve1:/usr/
  
# scp -r /usr/hadoop root@salve2:/usr/
  
# 并且修改salve1主机、salve2主机的/etc/profile文件
  
# vim /etc/profile
  
# set hadoop pathexport HADOOP_HOME=/usr/hadoop
  
export PATH=$PATH:$HADOOP_HOME/bin
  
# 执行下面命令使其配置立即生效
  
# source /etc/profile
  配置完成
  三、启动及验证
  1、格式化HDFS文件系统(只需一次,下次启动不再需要格式化)
# hadoop namenode -format  2、启动hadoop
# start-all.sh  3、验证hadoop
  3.1、用java自带的jps查看进程
# 在master上查看  
# jps
  
5434 JobTracker
  
4447 SecondaryNameNode
  
5221 NameNode
  
5535 Jps
  
# 在salve1上查看
  
# jps
  
4313 Jps
  
4260 TaskTracker
  
4171 DataNode
  3.2、用"hadoop dfsadmin -report"查看Hadoop集群的状态
# hadoop dfsadmin -report  3.3、用网页查看集群
  1)访问http://192.168.232.129:50030
  2)访问http://192.168.232.129:50070


页: [1]
查看完整版本: 简单搭建hadoop运行环境