博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu中安装hadoop集群
阅读量:6972 次
发布时间:2019-06-27

本文共 26295 字,大约阅读时间需要 87 分钟。

hot3.png

hadoop是由java 语言编写的主从结构分布式计算存储架构

准备工作:

  1. 操作系统: Ubuntu16.04

  2. 软件安装包:jdk-8u171-linux-x64.tar.gz ; hadoop-2.6.5.tar.gz

  3. 配置环境:3台虚拟机

    master:192.168.122.10         node1 :192.168.122.11         node1 :192.168.122.12
  • 前提条件:三台虚拟机已经配置过SSH和主机名,如果没有,请自行百度配置。

第一步:安装jdk

因为hadoop是由java编写的,所以底层需要依赖java环境, jdk下载地址,可选择合适的版本

在master上操作

1.下载jdk

用wget下载,如下

root@master:/opt/tar# wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gzroot@master:/opt/tar# ljdk-8u171-linux-x64.tar.gz

2.解压tar包

可以自己先创一个目录来解压方便以后管理,这次我就解压在opt目录下

root@master:/opt/tar# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/root@master:/opt# ljdk1.8.0_171/
  • 这里可能会出现问题3,无法解压的问题。解决方法参见可能遇见的问题3

3.将jdk添加到环境变量中

root@master:/opt# vim /etc/profile

在文件末尾添加

export JAVA_HOME=/opt/jdk1.8.0_171export PATH=$PATH:$JAVA_HOME/bin

4.刷新环境变量文件

root@master:/opt# echo $JAVA_HOME       #没刷新前的结果为空root@master:/opt# source  /etc/profile  #刷新root@master:/opt# echo $JAVA_HOME/opt/jdk1.8.0_171root@master:/opt# java -version         #看java版本openjdk version "1.8.0_171"OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
  • 到这里master的上面的jdk就安装好了 接下来就是将从节点上也安装,这里就可以将master上解压好和修改好的/etc/profile文件直接拷贝到从节点上了,这样比较方便,不然还得重复配置。

  • 这里我还是将jdk放在从节点的/opt目录下

root@master:/opt# scp -r jdk1.8.0_171/ node1:/opt       #拷贝jdk到node1root@master:/opt# scp -r jdk1.8.0_171/ node2:/opt       #拷贝jdk到node2root@master:/opt# scp -r /etc/profile node1:/etc/       #拷贝环境变量文件到node1root@master:/opt# scp -r /etc/profile node2:/etc/       #拷贝环境变量文件到node2

在node1和node2上执行

source  /etc/profile  #刷新
  • 到这里三台虚拟机的JDK就全部安装好了!

第二步:安装hadoop

从网站 找到合适的hadoop的二进制版本,本次我用的是2.6.5

image

1. 下载

root@master:/opt/tar# wget http://www-eu.apache.org/dist/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz

2.解压

root@master:/opt/tar# tar -zxvf hadoop-2.6.5.tar.gz -C /opt/root@master:/opt# lhadoop-2.6.5/ jdk1.8.0_171/

3.修改配置文件

进入/opt/hadoop-2.6.5/etc/hadoop目录下,这里面都是配置文件

root@master:/opt/hadoop-2.6.5/etc/hadoop# lcapacity-scheduler.xml  hadoop-env.sh               httpfs-env.sh            kms-env.sh            mapred-env.sh               ssl-server.xml.exampleconfiguration.xsl       hadoop-metrics2.properties  httpfs-log4j.properties  kms-log4j.properties  mapred-queues.xml.template  yarn-env.cmdcontainer-executor.cfg  hadoop-metrics.properties   httpfs-signature.secret  kms-site.xml          mapred-site.xml.template    yarn-env.shcore-site.xml           hadoop-policy.xml           httpfs-site.xml          log4j.properties      slaves                      yarn-site.xmlhadoop-env.cmd          hdfs-site.xml               kms-acls.xml             mapred-env.cmd        ssl-client.xml.example

1.修改hadoop-env.sh

里面是启动的脚本文件,将jdk导入

root@master:/opt/hadoop-2.6.5/etc/hadoop# echo $JAVA_HOME   #获取jdk绝对路径/opt/jdk1.8.0_171root@master:/opt/hadoop-2.6.5/etc/hadoop# vim hadoop-env.sh

写入export JAVA_HOME=/opt/jdk1.8.0_171保存退出 image

2.修改core-site.xml

核心配置文件

root@master:/opt/hadoop-2.6.5/etc/hadoop# vim core-site.xml

写入

fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
file:/opt/hadoop-2.6.5/hadooptmp

输入图片说明

里面内容以key-value形式书写,规定hadoop的默认文件系统为hdfs以对应的路径和端口(9000)。hadoop产生的临时文件存放地址(/opt/hadoop-2.6.5/hadooptmp)

3.hdfs-site.xml

这个文件不配置也行,就会用默认值,配置了就根据配置的内容来

root@master:/opt/hadoop-2.6.5/etc/hadoop# vim hdfs-site.xml
dfs.namenode.name.dir
file:/opt/hadoop-2.6.5/hadooptmp
dfs.datanode.data.dir
file:/opt/hadoop-2.6.5/hadooptmp
dfs.replication
1

在这里面我配置了hdfs文件的副本数,默认为3份,但因为我的虚拟机空间不足,这里就配置了1份。大家也可以根据实际要求进行配置。

输入图片说明

  • (图中的haoop改成hadoop,这里笔误!)

4.mapred-site.xml

这个文件是没有的,只提供一个tmp文件

root@master:/opt/hadoop-2.6.5/etc/hadoop# cp mapred-site.xml.template mapred-site.xmlroot@master:/opt/hadoop-2.6.5/etc/hadoop# vim mapred-site.xml
mapreduce.framework.name
yarn

mapreduce运行平台的名称(这里指定为yarn)

输入图片说明

5.yarn-site.xml

root@master:/opt/hadoop-2.6.5/etc/hadoop# vim yarn-site.xml
yarn.resourcemanager.hostname
master
yarn.nodemanager.aux-services
mapreduce_shuffle

这里面配置yarn的resourcemanager在哪个节点上运行(这里我I设置为master),和yarn需要的shuffle服务。

输入图片说明

  • 到这里master上的hadoop就配置好了,接下来就这这个hadoop文件复制到从节点上
root@master:/opt# scp -r hadoop-2.6.5/ node1:/opt/root@master:/opt# scp -r hadoop-2.6.5/ node2:/opt/

2. 为Hadoop添加环境变量

输入命令:vim /etc/profile

添加如下内容: export HADOOP_HOME=/opt/hadoop-2.6.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin image

刷新

source  /etc/profile  #刷新
  • 将这些内容也写到从节点的文件下,或者通过scp传过去 从节点刷新。

3. 配置slaves

root@master:/opt/hadoop-2.6.5/etc/hadoop# vim slaves

image

  • 如图所示配置意味着master节点此时既充当主节点也充当从节点(这样可以少开一个虚拟机,节省资源,服务器性能好可以不这样做)

4. 格式化文件系统

输入命令:hdfs namenode -format 看到高亮语句证明格式化成功! Storage directory /root/training/hadoop-2.6.5/hadooptmp has been successfully formatted.

图

  • 这里可能会出现格式化失败的问题,参见可能出现的问题1。

安装成功!

测试

启动namenode

root@master:/opt/hadoop-2.6.5/sbin# hadoop-daemon.sh start namenodestarting namenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-namenode-master.outroot@master:/opt/hadoop-2.6.5/sbin# jps2420 NameNode3406 Jps

成功!其中hadoop-daemon.sh是一个启动脚本

关闭namenode

root@master:/opt/hadoop-2.6.5/sbin# hadoop-daemon.sh stop namenodestopping namenoderoot@master:/opt/hadoop-2.6.5/sbin# jps11754 Jps

一键启动所有节点(集群) namenode+datanode

主节点

root@master:/opt/hadoop-2.6.5/etc/hadoop# start-all.shThis script is Deprecated. Instead use start-dfs.sh and start-yarn.shStarting namenodes on [master]master: starting namenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-namenode-master.outnode1: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-node1.outnode2: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-node2.outlocalhost: starting datanode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-datanode-master.outStarting secondary namenodes [0.0.0.0]0.0.0.0: starting secondarynamenode, logging to /opt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-master.outstarting yarn daemonsstarting resourcemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-resourcemanager-master.outnode1: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-node1.outnode2: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-node2.outlocalhost: starting nodemanager, logging to /opt/hadoop-2.6.5/logs/yarn-root-nodemanager-master.outroot@master:/opt/hadoop-2.6.5/etc/hadoop# jps14961 ResourceManager15204 NodeManager13125 NameNode16188 Jps

从节点查

root@node1:/opt# jps20656 NodeManager19927 DataNode21660 Jps
root@node2:~# jps17553 DataNode19514 Jps18314 NodeManager

成功!

在hdfs中创建一个目录firstTestDir

root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -ls /            #查看原始状态下的目录(没有)DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -mkdir /firstTestDir        #创建目录DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.root@master:/opt/hadoop-2.6.5/hadooptmp# hadoop dfs -ls /        #查看目录,已经存在DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.Found 1 itemsdrwxr-xr-x   - root supergroup          0 2018-05-13 21:13 /firstTestDir

向这个目录下上传文件

这里我将root下的a.txt文件上传为例

root@master:~# la.txt root@master:~# hadoop dfs -put ./a.txt /firstTestDir            #上传文件a.txtDEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.root@master:~# hadoop dfs -ls /firstTestDir        #查看是否成功,ok!DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.Found 1 items-rw-r--r--   1 root supergroup      22002 2018-05-13 21:14 /firstTestDir/a.txt
  • 这里可能会出现上传失败的问题,参见可能的问题2。

运行wordcount

UI查询

访问 HDFS的Web Console:

输入图片说明

访问 Yarn的Web Console:

输入图片说明

关闭所有组件

root@master:/opt/hadoop-2.6.5/etc/hadoop# stop-all.sh

可能遇到的问题:

1.格式化时出现问题

root@master:/opt/hadoop-2.6.5/etc/hadoop# hdfs namenode –format18/05/12 20:50:16 INFO namenode.NameNode: STARTUP_MSG: /************************************************************STARTUP_MSG: Starting NameNodeSTARTUP_MSG:   host = localhost/127.0.0.1STARTUP_MSG:   args = [–format]STARTUP_MSG:   version = 2.6.5STARTUP_MSG:   classpath = /opt/hadoop-2.6.5/etc/hadoop:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-httpclient-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/stax-api-1.0-2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/avro-1.7.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-jaxrs-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/snappy-java-1.0.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/httpclient-4.2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/httpcore-4.2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-api-1.7.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/zookeeper-3.4.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/mockito-all-1.8.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jasper-runtime-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hadoop-auth-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/apacheds-kerberos-codec-2.0.0-M15.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/activation-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-recipes-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jaxb-impl-2.2.3-1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-collections-3.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/paranamer-2.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jaxb-api-2.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jettison-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-beanutils-1.7.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jersey-json-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/api-asn1-api-1.0.0-M20.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jets3t-0.9.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-beanutils-core-1.8.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/junit-4.11.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/htrace-core-3.0.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/java-xmlbuilder-0.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jasper-compiler-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-framework-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/apacheds-i18n-2.0.0-M15.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-configuration-1.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/api-util-1.0.0-M20.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-math3-3.1.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsch-0.1.42.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-el-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/curator-client-2.6.0.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jsp-api-2.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-xc-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hadoop-annotations-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/gson-2.2.4.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-digester-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/xmlenc-0.52.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/hamcrest-core-1.3.jar:/opt/hadoop-2.6.5/share/hadoop/common/lib/commons-net-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-nfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/common/hadoop-common-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jasper-runtime-5.5.23.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-daemon-1.0.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xml-apis-1.3.04.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/htrace-core-3.0.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xercesImpl-2.9.1.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-el-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jsp-api-2.1.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/lib/xmlenc-0.52.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/hdfs/hadoop-hdfs-nfs-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-httpclient-3.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/stax-api-1.0-2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-jaxrs-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/zookeeper-3.4.6.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guava-11.0.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jetty-util-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-cli-1.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/activation-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jaxb-impl-2.2.3-1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-logging-1.1.3.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jetty-6.1.26.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-collections-3.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/servlet-api-2.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jaxb-api-2.2.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jettison-1.1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-json-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guice-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-guice-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jsr305-1.3.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/leveldbjni-all-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jersey-client-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-codec-1.4.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/guice-servlet-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-lang-2.6.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/aopalliance-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-xc-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/lib/javax.inject-1.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-resourcemanager-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-web-proxy-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-api-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-applications-distributedshell-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-applicationhistoryservice-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-applications-unmanaged-am-launcher-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-client-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-tests-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-server-nodemanager-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/yarn/hadoop-yarn-registry-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/avro-1.7.4.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/snappy-java-1.0.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jackson-mapper-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-core-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/commons-compress-1.4.1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/xz-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/paranamer-2.3.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-server-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/protobuf-java-2.5.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/log4j-1.2.17.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/guice-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/junit-4.11.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/asm-3.2.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jersey-guice-1.9.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/leveldbjni-all-1.8.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/guice-servlet-3.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/netty-3.6.2.Final.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/aopalliance-1.0.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/jackson-core-asl-1.9.13.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/commons-io-2.4.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/hadoop-annotations-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/hamcrest-core-1.3.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/lib/javax.inject-1.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.6.5-tests.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-common-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-app-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-plugins-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-shuffle-2.6.5.jar:/opt/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-client-hs-2.6.5.jar:/opt/hadoop-2.6.5/contrib/capacity-scheduler/*.jarSTARTUP_MSG:   build = https://github.com/apache/hadoop.git -r e8c9fe0b4c252caf2ebf1464220599650f119997; compiled by 'sjlee' on 2016-10-02T23:43ZSTARTUP_MSG:   java = 1.8.0_171************************************************************/18/05/12 20:50:16 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]18/05/12 20:50:16 INFO namenode.NameNode: createNameNode [–format]Usage: java NameNode [-backup] | 	[-checkpoint] | 	[-format [-clusterid cid ] [-force] [-nonInteractive] ] | 	[-upgrade [-clusterid cid] [-renameReserved
] ] | [-upgradeOnly [-clusterid cid] [-renameReserved
] ] | [-rollback] | [-rollingUpgrade
] | [-finalize] | [-importCheckpoint] | [-initializeSharedEdits] | [-bootstrapStandby] | [-recover [ -force] ] | [-metadataVersion ] ]18/05/12 20:50:16 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************SHUTDOWN_MSG: Shutting down NameNode at localhost/127.0.0.1************************************************************/

原因 hdfs namenode –format "-format"中的-是中文横线,改成英文就好了

2. 通过hadoop dfsadmin -report命令查看到的全是0值,或者上传文件时提示失败,报错是没有可用的datanode。

问题:

19/03/16 15:57:42 WARN hdfs.DFSClient: DataStreamer Exceptionorg.apache.hadoop.ipc.RemoteException(java.io.IOException): File /firstTestDir/test-hafs-uploadFile.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

详细内容:

root@master:~# hadoop dfs -put ./test-hafs-uploadFile.txt /firstTestDir   DEPRECATED: Use of this script to execute hdfs command is deprecated.Instead use the hdfs command for it.19/03/16 15:57:42 WARN hdfs.DFSClient: DataStreamer Exceptionorg.apache.hadoop.ipc.RemoteException(java.io.IOException): File /firstTestDir/test-hafs-uploadFile.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.	at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1559)	at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3245)	at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:663)	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:482)	at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)	at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)	at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:975)	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2040)	at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2036)	at java.security.AccessController.doPrivileged(Native Method)	at javax.security.auth.Subject.doAs(Subject.java:422)	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1692)	at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2034)	at org.apache.hadoop.ipc.Client.call(Client.java:1470)	at org.apache.hadoop.ipc.Client.call(Client.java:1401)	at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:232)	at com.sun.proxy.$Proxy9.addBlock(Unknown Source)	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:399)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:498)	at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)	at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)	at com.sun.proxy.$Proxy10.addBlock(Unknown Source)	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1528)	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1345)	at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:587)put: File /firstTestDir/test-hafs-uploadFile.txt._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.

解决方法,

  • 1.可能是/etc/hosts文件里的主机名和ip对应有问题,可删除没用的对应或易混淆的。
  • 2.防火墙没关
  • 3.ssh没配成功
  • 4.可能多次格式化后namenode和datanode上的clusterID不一致,删除主从节点上的hadoop-2.6.5/hadooptmp文件夹下的所有内容(rm -rf hadooptmp/*),重新格式化。
  • 5.节点的内存。

3.无法解压jdk

问题:

root@master:/opt/tar# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/gzip: stdin: not in gzip formattar: Child returned status 1 tar: Error is not recoverable: exiting now

解决方法: 1.文件类型不同 tar包压缩的时候用cvf参数,解压的时候用xvf参数 或压缩的时候用czvf参数,解压的时候用xzvf参数

2.文件本身损坏 可能是由于我在线下载下来的安装包本身就是损坏的。

怎么确定是否损坏呢?

命令:ls -lht 查看文件大小

3.分析一下文件类型

# 错误的文件类型root@master:/opt/tar# file jdk-8u171-linux-x64.tar.gzjdk-8u171-linux-x64.tar.gz: HTML document, ASCII text, with very long lines, with CRLF line terminators# 正确的文件类型root@master:/opt/tar# file jdk-8u201-linux-x64.tar.gz jdk-8u201-linux-x64.tar.gz: gzip compressed data, last modified: Sat Dec 15 19:48:30 2018, from Unix

错误的竟然是HTML文档类型,这次终于知道是为什么了。软件版本更新,这个链接指向了改版本的介绍页面了,这种情况下只有去官网下载新的版本了。

文件的下载链接不是直接指向文件,而是先指向一个页面,在这个页面里才是真的下载链接,所以在前一个页面上直接保存文件,实际上保存的是一个页面。

假如属性是bz文件,就用bz文件的解压方式。

补充一下file命令:

通过file指令,我们得以辨识该文件的类型。

参  数:  -b  列出辨识结果时,不显示文件名称。  -c  详细显示指令执行过程,便于排错或分析程序执行的情形。  -f<名称文件>  指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。  -L  直接显示符号连接所指向的文件的类别。  -m<魔法数字文件>  指定魔法数字文件。  -v  显示版本信息。  -z  尝试去解读压缩文件的内容。

2.重新获取tar包路径,先用浏览器打开,从弹出来的save 对话框里获取下载链接

转载于:https://my.oschina.net/blueyuquan/blog/1811442

你可能感兴趣的文章
LeetCode第七天
查看>>
ORACLE存储过程 练习系列三 失效或者生效指定表的外键
查看>>
Android环境搭建(Windows)
查看>>
django 项目创建使用
查看>>
接口数据加密
查看>>
DevExpress之TreeList节点绑定图片
查看>>
OC分类(Category)
查看>>
BZOJ1206虚拟内存[hash]
查看>>
Docker Data Center系列(五)- 使用自定义的TLS安全认证
查看>>
julia生成指定格式的字符串.jl
查看>>
转:ActivityGroup + GridView 实现Tab分页标签
查看>>
作业5
查看>>
查缺补漏
查看>>
git 多人协作
查看>>
使用node 创建一个新项目
查看>>
主机名/etc/hosts文件的作用
查看>>
How to Setup MySQL (Master-Slave) Replication in CentOS
查看>>
TortoiseGit连接github.com
查看>>
java基础( 九)-----深入分析Java的序列化与反序列化
查看>>
Struts2、SpringMVC、Servlet(Jsp)性能对比 测试
查看>>