H
hadoop文件系统
依赖基础| hadoop.tmp.dir
| / home / ** username ** / hadoop / data
| | 的名的名称URI'|的名称
fs.defaultFS - >
的的的的的的的的CONF |
HDFS:// 主机名:8020 | | 回收站机制(缺省为0)|
fs.trash.interval ##### 3.
mapred-site.xml中中中中中中中中中中中中中中中中中中中中>
mapred-site.xml.template
去掉文件名后缀模板>>分布式计算相关配置| 配置项含义| 名字| 价值| | ----------------------------------------- | ------------------------------------- | -------------------- | |
的MapReduce的的所有的’ s的所有的JobHistory进程通信主机,端口|
mapreduce.jobhistory.address |
主机名:10020 | |
的MapReduce的的的的的的的的的的的的的“的网页界面主机,端口| mapreduce.jobhistory.webapp.address
| **主机名:19888
| | 以线方式运行的MapReduce的所有的所有的
的| mapreduce.framework.name
| 纱| | | 单机启动时,上条数据不配置 | | > name> etc01:8031 <! - resourcemanager中应用程序管理器界面的地址 - > yarn.resourcemanager.address etc01 :<! -调度器接口的地址- > 8032 sz01,SZ02,sz03
(因为在的的在的的在的/ etc /主机中配置了主机名-ip的映射表所以可以配置主机名)## ## 2.4配置分节点> ,. bash 轮廓中文件中(用户环境配置)发送给分节点主机即可(配置都一样,免密登录已设置
SCP -R /家/ hadoopadmin / jdk1.7.0 67 hadoopadmin @ ETCO 2: /家庭/ hadoopadmin SCP-R /家/ hadoopadmin / jdk1.7.0 _ 67 hadoopadmin @ etc03:/家庭/ hadoopadmin SCP-R /家/ hadoopadmin / Hadoop的-2.7.1 hadoopadmin @ etc02:/ home / hadoopadmin scp -r /home/hadoopadmin/hadoop-2.7.1 hadoopadmin @ etc03:/ home / hadoopadmin scp /home/hadoopadmin/.bash _ profile hadoopadmin @ etc02:/ home / hadoopadmin scp /home/hadoopadmin/.bash _ profile hadoopadmin @ etc03: / home / hadoopadmin -r代表发送整个目录下的所有文件:默认用户家目录下,上述指定根目了
#### 2.5启动集群>在主节点上启动
HADOOP_HOME / sbin目录目录目录目录/ .start- all.sh ` ##### 2.5.1格式化+目的:清除` hadoop.tmp.dir `配置目录下的文件,并生成相应的文件目录结构,例如当前文件里的`丛集编号 `,主从节点一致,才默认是同一个集群,会启动该节点。+ `的的已的hadoop的的名称节点-格式 ` ##### 2.5.2启动> ` sbin目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录(也是调用下面两个启动脚本)+ ######先启动 ` start-dfs.sh `,再启动start-yarn.sh,关闭时要倒倒关。+退出安全模式代表数据同步完成> ` JPS是的java的的的的的 的的的的`提供的命令---返回 `节点信息和PID ` ### 3,操作`的的Hadoop的的`集群中的罐子包+ ` HADOOP_HOME / sbin目录目录目录目录/ .start- all.sh ` ##### 2.5.1格式化+目的:清除` hadoop.tmp.dir `配置目录下的文件,并生成相应的文件目录结构,例如当前文件里的`丛集编号 `,主从节点一致,才默认是同一个集群,会启动该节点。+ `的的已的hadoop的的名称节点-格式 ` ##### 2.5.2启动> ` sbin目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录目录(也是调用下面两个启动脚本)+ ######先启动 ` start-dfs.sh `,再启动start-yarn.sh,关闭时要倒倒关。+退出安全模式代表数据同步完成> ` JPS是的java的的的的的 的的的的`提供的命令---返回 `节点信息和PID ` ### 3,操作`的的Hadoop的的`集群中的罐子包+ ` HADOOP_HOME /共享/的的hadoop的/“公共/ *的的的.jar - > LIB / *的的的.jar (除去试验和实施例以及源码包)+ ` $ HADOOP_HOME /共享/ Hadoop的的的的的所有的/
HDFS /的的的的的的'> LIB /的的找到的的的.jar - > LIB /的的的找的源码包的的* .jar(除去测试和示例以及源码包)### ### 2.相关环境配置+打印日志>
找到HADOOP_HOME的/ etc / hadoop的/ log4j.properties复制到项目SRC目录下`>>更改第18行 - 将INFO改为DEBUG +视窗下的环境问题```的java1在视窗的某个目录下解压的Hadoop的软件2.在系统变量中添加HADOOP _首页 - >的的Hadoop的解压目录的根路径3进入到HADOOP _ HOME /仓目录,复制压缩包中bin文件夹的内容至该目录下//压缩包hadoo2.7.x的hadoop.dll和winutils .exe如果winutils.exe不能成功运行,使用类库修复工具,完成后重启电脑//修复工具的加入版本的。将会有一些文件复制到System32下来及下SYSWOW64资料中,完成后重启电脑5.重启的的蚀中的````nativeIO。的的''s'的java的``>新建一个包覆盖的'的的的的的的's的's'''''''''''''''''''''''' - --- ------------->永久配置+或者`的的java的`代码`系统.setProperty(“ 有oop.home“,''); `+仅此代码环境中有效(此时运行的`JVM`)+配置`HADOOP _ USER NAME _`环境变量------------------->(用户校验开启时配置)###### 3.获取集群节点```java //获取配置对象fs.defaultFS private static配置conf = new Configuration(); //声明访问集群主机名和端口private static final String URL =“hdfs:// sz01:8020”; //声明文件系统类型private static FileSystem fs; static {//从指定的集群中读取配置FileSystem.setDefaultUri(con f,URL); try {//使用读取到的配置实例化fs fs = FileSystem.get(conf); } catch(IOException e){// TODO自动生成的catch块e.printStackTrace(); ``###### 4.上传,下载+ **获取用户家目录**```的java的所有的公共字符串getHomwDir(){返回fs.getHomeDirectory()的的's的的的的的的的toString(); }``+ **创建目录**```java的公共无效mkdirs(字符串目录名,布尔useHmoeDir){尝试{如果(useHmoeDir){//是否使用用户家目录fs.mkdirs(新路径(目录) ))))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> try {//使用读取到的配置实例化fs fs = FileSystem.get(conf); } catch(IOException e){// TODO自动生成的catch块e.printStackTrace(); ``###### 4。上传,下载+ **获取用户家目录**```的java的所有的公共字符串getHomwDir(){返回fs.getHomeDirectory()的的's的's's's's's' }``+ **创建目录**```java的公共无效mkdirs(字符串目录名,布尔useHmoeDir){尝试{如果(useHmoeDir){//是否使用用户家目录fs.mkdirs(新路径(目录) ))))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> try {//使用读取到的配置实例化fs fs = FileSystem.get(conf); } catch(IOException e){// TODO自动生成的catch块e.printStackTrace(); ``###### 4.上传,下载+ **获取用户家目录**```的java的所有的公共字符串getHomwDir(){返回fs.getHomeDirectory()的的's的的的的的的的toString(); }``+ **创建目录**```java的公共无效mkdirs(字符串目录名,布尔useHmoeDir){尝试{如果(useHmoeDir){//是否使用用户家目录fs.mkdirs(新路径(目录) ))))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e。的printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的的的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的的的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的文件系统)DEST(HDFS文件系统)`> mkdirs(新路径(目录)))))))));; //默认在用户家目录下操作} else {fs.mkdirs(new Path(“/”+ dirName)); }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的的的文件系统)DEST(HDFS文件系统)`> }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的的的文件系统)DEST(HDFS文件系统)`> }上上(例外五){// TODO:手柄例外e.printStackTrace(); ``+ **上传文件**>`HDFS文件系统默认的URI ----> HDFS://主机:8020 /`一般以“/”号代替>`上传放命令(copyFromLocal)HDFS dfs -put SRC(Linux的的的文件系统)DEST(HDFS文件系统)`>
javapublic空隙上传(布尔delSrc,布尔重写,字符串[] SRCS,字符串DST){//源路径目标路径默认覆盖同名文件//布尔型(是否删除源文件)的src DES //布尔型(是否删除源文件)的布尔(是否删覆盖同名文件)src des //不覆盖的时候,同名则抛出异常信息,不进行覆盖操作Path [] path = new Path [srcs.length]; for(int i = 0; 我