设为首页 收藏本站
查看: 2511|回复: 0

[经验分享] Hadoop2.7.2的三种安装模式

[复制链接]

尚未签到

发表于 2018-10-29 10:30:16 | 显示全部楼层 |阅读模式
  虚拟机使用的oracle vm,安装的操作系统是centOs7
  本地模式
  1.安装JDK
  Hadoop是要安装在JVM上运行的,所以都要安装JDK。所以必须安装JVM。
  1.1 下载JDK
  下载网址:
  http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
  选择linux 64位系统,压缩后缀是tar.gz
DSC0000.png

  1.2 解压
  将下载的tar包拷贝到/home/hadoop/Downloads文件夹里,进入Downloads文件夹,再直接使用命令:
  tar –zxvf jdk-8u111-linux-x64.gz
  解压到当前文件夹里,然后使用命令将jdk文件夹剪切到/software/目录下,当然得先创建/software/目录,同时使用如下命令创建jdk软连接:
  ln–s jdk1.8.0_111 jdk
  1.3 配置JDK,JRE环境变量
  使用vim命令修改配置文件/etc/profile
  在文件尾添加:
  export JAVA_HOME=/software/jdk
  export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

  export>  再用soure /etc/profile命令,使其生效:
  1.4 验证
  输入:java -version
  能显示如下信息,就表示JDK配置成功。
  [hadoop@s200 software]$ java -version
  java version "1.8.0_111"
  Java(TM) SE Runtime Environment (build1.8.0_111-b14)
  Java HotSpot(TM) 64-Bit Server VM (build25.111-b14, mixed mode)
  [hadoop@s200 software]$
  2.安装Hadoop
  这里安装本地模式
  2.1下载
  下载地址:
  http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
  我下载的2.7.2版本,点击hadoop-2.72/链接进入下载页面。
DSC0001.png

DSC0002.png

  下载tar包和src源码包(源码包供开发调试使用)。
  2.2解压
  将hadoop-2.7.2.tar.gz包拷贝到与jdk相同的目录/home/hadoop/Downloads下。然后使用
  tar –zxvf hadoop-2.7.2.tar.gz
  解压后得到hadoop-2.7.2文件夹。然后使用命令:
  mv hadoop-2.7.2 /software/
  将hadoop目录剪切到/software/目录下
  然后使用命令:
  ln–s hadoop-2.7.2 hadoop创建软连接。
  2.3配置Hadoop环境变量
  使用vim命令修改配置文件/etc/profile
  在文件尾添加:
  export HADOOP_HOME=/software/hadoop
  exportPATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  再用soure /etc/profile命令,使其生效。
  2.4 验证
  使用hadoop version得到如下版本号信息,则表示安装成功。
  [hadoop@s200 software]$ hadoop version
  Hadoop 2.7.2
  Subversionhttps://git-wip-us.apache.org/repos/asf/hadoop.git -rb165c4fe8a74265c792ce23f546c64604acf0e41
  Compiled by jenkins on 2016-01-26T00:08Z
  Compiled with protoc 2.5.0
  From source with checksumd0fda26633fa762bff87ec759ebe689c
  This command was run using/software/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar
  [hadoop@s200 software]$
  伪分布模式
  1、安装SSH
  1.1、安装SSH,在命令行输入如下:
  sudo  apt-get install openssh-server
  1.2配置可以免密码登陆本机
  在命令行输入(注意其中的ssh前面还有一个 “ . ” 不要遗漏)
  ssh-keygen  -t  rsa -P '' -f  ~/.ssh/id_rsa
  (解释一下上面这条命令, ssh-keygen  代表生成密钥; -t  表示指定生成的密钥 类型; rsa  是 rsa 密钥认证的意思; -P  用于提供密语(接着后面是两个单引号, 不要打错); -f  表示指定生成密钥文件)
  这条命令完成后,会在当前文件夹下面的 .ssh 文件夹下创建 id_rsa 和 id_rsa.pub两个文件,这是 SSH 的一对私钥和公钥,把 id_rsa.pub (公钥)追加到授权的 key中去,输入如下命令:
  cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys
  至此,免密码登陆本机已经配置完毕。
  说明:一般来说,安装SSH时会自动在当前用户下创建.ssh这个隐藏文件夹,一般不会直接看到,除非安装好了以后,在命令行使用命令ls -al才会看到。
  1.3、 输入 ssh  localhost ,显示登陆成功信息。
  [hadoop@s200 hadoop]$ ssh localhost
  Last login: Mon Nov 21 21:53:49 2016
  [hadoop@s200 ~]$
  2、  在本地模式的基础上需要添加下面的操作。
  3、  修改etc/hadoop/hadoop-env.sh如下配置项
  export JAVA_HOME=/software/jdk
  4、配置etc/hadoop/core-site.xml
  
  
  fs.defaultFS
  hdfs://localhost:9000
  
  
  5、配置etc/hadoop/hdfs-site.xml
                   dfs.replication              1       6、配置etc/hadoop/mapred-site.xml
            mapreduce.framework.name        yarn      7、配置etc/hadoop/yarn-site.xml
            yarn.resourcemanager.hostname        localhost                yarn.nodemanager.aux-services        mapreduce_shuffle      8、使用hdfs namenode –format命令格式化文件系统
  [hadoop@s200 hadoop]$ hdfs namenode -format
  16/11/21 22:52:03 INFO namenode.NameNode:STARTUP_MSG:
  /************************************************************
  STARTUP_MSG: Starting NameNode
  STARTUP_MSG:   host = s200/192.168.1.200
  STARTUP_MSG:   args = [-format]
  STARTUP_MSG:   version = 2.7.2

  STARTUP_MSG:  >  STARTUP_MSG:   build =https://git-wip-us.apache.org/repos/asf/hadoop.git -rb165c4fe8a74265c792ce23f546c64604acf0e41; compiled by 'jenkins' on 2016-01-26T00:08Z
  STARTUP_MSG:   java = 1.8.0_111
  ************************************************************/
  16/11/21 22:52:03 INFO namenode.NameNode:registered UNIX signal handlers for [TERM, HUP, INT]
  16/11/21 22:52:03 INFO namenode.NameNode:createNameNode [-format]
  Formatting using clusterid:CID-dd4d717c-52a6-49b1-b228-303eba107996
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: No KeyProvider found.
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: fsLock is fair:true
  16/11/21 22:52:05 INFOblockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000
  16/11/21 22:52:05 INFOblockmanagement.DatanodeManager:dfs.namenode.datanode.registration.ip-hostname-check=true
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec isset to 000:00:00:00.000
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: The block deletion will start around 2016 Nov 2122:52:05
  16/11/21 22:52:05 INFO util.GSet: Computingcapacity for map BlocksMap
  16/11/21 22:52:05 INFO util.GSet: VMtype       = 64-bit
  16/11/21 22:52:05 INFO util.GSet: 2.0% maxmemory 966.7 MB = 19.3 MB
  16/11/21 22:52:05 INFO util.GSet:capacity      = 2^21 = 2097152 entries
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: dfs.block.access.token.enable=false
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: defaultReplication         = 1
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: maxReplication             = 512
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: minReplication             = 1
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: maxReplicationStreams      = 2
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: replicationRecheckInterval = 3000
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: encryptDataTransfer        = false
  16/11/21 22:52:05 INFOblockmanagement.BlockManager: maxNumBlocksToLog          = 1000
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: fsOwner            = hadoop (auth:SIMPLE)
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: supergroup         = supergroup
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: isPermissionEnabled = true
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: HA Enabled: false
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: Append Enabled: true
  16/11/21 22:52:05 INFO util.GSet: Computingcapacity for map INodeMap
  16/11/21 22:52:05 INFO util.GSet: VMtype       = 64-bit
  16/11/21 22:52:05 INFO util.GSet: 1.0% maxmemory 966.7 MB = 9.7 MB
  16/11/21 22:52:05 INFO util.GSet:capacity      = 2^20 = 1048576 entries
  16/11/21 22:52:05 INFO namenode.FSDirectory:ACLs enabled? false
  16/11/21 22:52:05 INFOnamenode.FSDirectory: XAttrs enabled? true

  16/11/21 22:52:05 INFOnamenode.FSDirectory: Maximum>  16/11/21 22:52:05 INFO namenode.NameNode:Caching file names occuring more than 10 times
  16/11/21 22:52:05 INFO util.GSet: Computingcapacity for map cachedBlocks
  16/11/21 22:52:05 INFO util.GSet: VMtype       = 64-bit
  16/11/21 22:52:05 INFO util.GSet: 0.25% maxmemory 966.7 MB = 2.4 MB
  16/11/21 22:52:05 INFO util.GSet:capacity      = 2^18 = 262144 entries
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: dfs.namenode.safemode.extension     = 30000
  16/11/21 22:52:05 INFO metrics.TopMetrics:NNTop conf: dfs.namenode.top.window.num.buckets = 10
  16/11/21 22:52:05 INFO metrics.TopMetrics:NNTop conf: dfs.namenode.top.num.users = 10
  16/11/21 22:52:05 INFO metrics.TopMetrics:NNTop conf: dfs.namenode.top.windows.minutes = 1,5,25
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: Retry cache on namenode is enabled
  16/11/21 22:52:05 INFOnamenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cacheentry expiry time is 600000 millis
  16/11/21 22:52:05 INFO util.GSet: Computingcapacity for map NameNodeRetryCache
  16/11/21 22:52:05 INFO util.GSet: VMtype       = 64-bit
  16/11/21 22:52:05 INFO util.GSet: 0.029999999329447746%max memory 966.7 MB = 297.0 KB
  16/11/21 22:52:05 INFO util.GSet:capacity      = 2^15 = 32768 entries
  16/11/21 22:52:06 INFO namenode.FSImage:Allocated new BlockPoolId: BP-1695203913-192.168.1.200-1479739926047
  16/11/21 22:52:06 INFO common.Storage:Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
  16/11/21 22:52:06 INFOnamenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
  16/11/21 22:52:06 INFO util.ExitUtil:Exiting with status 0
  16/11/21 22:52:06 INFO namenode.NameNode:SHUTDOWN_MSG:
  /************************************************************
  SHUTDOWN_MSG: Shutting down NameNode ats200/192.168.1.200
  ************************************************************/
  [hadoop@s200 hadoop]$
  9、启动hdfs
  [hadoop@s200 hadoop]$ start-dfs.sh
  Starting namenodes on [localhost]
  localhost: starting namenode, logging to/software/hadoop-2.7.2/logs/hadoop-hadoop-namenode-s200.out
  localhost: starting datanode, logging to/software/hadoop-2.7.2/logs/hadoop-hadoop-datanode-s200.out
  Starting secondary namenodes [0.0.0.0]
  0.0.0.0: starting secondarynamenode,logging to /software/hadoop-2.7.2/logs/hadoop-hadoop-secondarynamenode-s200.out
  10、验证hdfs是否启动成功,使用jps命令如出现NameNode、DataNode、SecondaryNameNode这3个进程则表示启动成功。
  [hadoop@s200 hadoop]$ jps
  5283 DataNode
  5587 SecondaryNameNode
  5797 Jps
  5112 NameNode
  11、启动yarn
  [hadoop@s200 hadoop]$ start-yarn.sh
  starting yarn daemons
  starting resourcemanager, logging to/software/hadoop-2.7.2/logs/yarn-hadoop-resourcemanager-s200.out
  localhost: starting nodemanager, logging to/software/hadoop-2.7.2/logs/yarn-hadoop-nodemanager-s200.out
  12、验证yarn是否启动成功,使用jps命令查看有ResourceManager和NodeManager两个进程,则表示yarn启动成功。
  [hadoop@s200 hadoop]$ jps
  5283 DataNode
  5587 SecondaryNameNode
  5112 NameNode
  6233 Jps
  5883 ResourceManager
  6015 NodeManager
  [hadoop@s200 hadoop]$
  完全分布式模式
  1)  在伪分布模式的基础上进行下面的步骤。
  2)  配置core-site.xml
  
  
  fs.defaultFS
  hdfs://s200
  
  
  hadoop.tmp.dir
  /usr/local/hadoop-${user.name}
  
  
  3)  配置hdfs-site.xml
  
  
  dfs.replication
  3
  
  
  dfs.namenode.name.dir
  file://${hadoop.tmp.dir}/dfs/name
  
  
  dfs.datanode.data.dir
  file://${hadoop.tmp.dir}/dfs/data
  
  
  dfs.namenode.secondary.http-address
  s202:50090
  
  
  4)  配置yarn-site.xml
             yarn.resourcemanager.hostname        s200                yarn.nodemanager.aux-services        mapreduce_shuffle      5)  修改$HADOOP_HOME/etc/hadoop/slaves文件
  s201
  6)  集群上面分发上面修改的4个文件
  7)  重新格式化文件系统
  hdfs namenode -format
  8)  启动hdfs文件系统
  start-dfs.sh
  注意:该步启动文件系统的时候可能会出现如下错误:

  FATALorg.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed forblock pool Block pool BP-336454126-127.0.0.1-1419216478581 (storage>  org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException):Datanode denied communication with namenode: DatanodeRegistration(0.0.0.0,storageID=DS-445205871-127.0.0.1-50010-1419216613930, infoPort=50075,ipcPort=50020,storageInfo=lv=-47;cid=CID-41993190-ade1-486c-8fe1-395c1d6f5739;nsid=1679060915;c=0)
  at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:739)
  atorg.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:3929)
  atorg.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:948)
  atorg.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:90)
  atorg.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:24079)
  atorg.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
  atorg.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
  atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2048)
  atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2044)
  atjava.security.AccessController.doPrivileged(Native Method)
  at javax.security.auth.Subject.doAs(Subject.java:415)
  atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1491)
  atorg.apache.hadoop.ipc.Server$Handler.run(Server.java:2042)
  产生原因,一开始配置文件中使用的是localhost ,后来改成Ip, 再次格式化了namenode引起的。
  解决方案:
  1,删除dfs.namenode.name.dir和dfs.datanode.data.dir 目录下的所有文件
  2,修改hosts
  [tank@localhost hadoop-2.2.0]$ cat /etc/hosts
  127.0.0.1   localhost localhost.localdomain localhost4localhost4.localdomain4
  ::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6
  192.168.149.128 localhost
  3,重新格式化:bin/hadoop namenode-format
  4,启动
  附:如果没有删除datanode 格式化了namenode,则会引起datanode与namenode版本号不一致的错误
  解决方案:
  修改dfs.datanode.data.dir下的current/version中的clusterID与
  dfs.namenode.name.dir的一致重启即可。
  9)  启动yarn
  start-yarn.sh
  10)使用jps查看各个节点的进程是否正确,如下图则表示成功,否则为失败。
DSC0003.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-627877-1-1.html 上篇帖子: Hadoop五个进程的作用和联系 下篇帖子: Ubuntu上搭建Hadoop环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表