目录
- Shell中的命令
- 案例:Shell定时采集数据到HDFS中
- 一、搭建项目环境(新建Maven项目)
- 安装Maven
- 连接hadoop集群的节点
- 二、准备日志存放目录和待上传文件
- 三、设置日志文件上传的路径
- 四、实现文件上传
- 五、执行程序展示运行结果
Shell:提供给使用者使用界面的进行与系统交互的软件,通过接收用户输入的命令执行相应的操作
shell分为:
- 图形界面Shell
- 命令行式Shell
Shell中的命令
- -ls:查看指定路径的目录结构
- -du:统计目录下所有文件的大小
- -mv:移动文件
- -cp:复制文件
- -rm:删除文件/空白文件夹
- -cat:查看文件内容
- -text:源文件输出为文本格式
- -mkdir:创建空白文件夹
- -put:上传文件
- -help:查看命令帮助
案例:Shell定时采集数据到HDFS中
步骤:
- 配置环境变量:shell脚本中设置java环境变量和hadoop环境变量
(这样做的目的是提高系统的可靠性,保障运行程序的机器在没有配置环境变量的情况下依然能够运行脚本) - 准备日志存放目录和待上传文件:shell脚本中设置一个日志存放目录和待上传文件目录
- 设置日志文件长传的路径
- 实现文件上传:将文件首先移动到待上传目录,再从待上传目录上传到HDFS(使用Linux Crontab表达式执行定时任务 * * * * * 分 时 日 月 周)
- 执行程序展示运行结果
一、搭建项目环境(新建Maven项目)
出现下面报错,是因为没有安装Maven(也可以先点ok,不用在意)
安装Maven
下载后解压到文件夹中,配置环境变量
添加到Path
配置完成后,打开cmd,查看版本信息
在maven安装目录下,新建一个目录
setting文件中修改仓库路径
打开eclipse
配置后重启eclipse,就好啦
连接hadoop集群的节点
新建完maven项目,可能会报错,不用紧张。
配置pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itcast</groupId>
<artifactId>HadoopDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
</dependencies>
</project>
配置完成后,就会自动加载需要的jar包,就不会报错了
二、准备日志存放目录和待上传文件
三、设置日志文件上传的路径
四、实现文件上传
五、执行程序展示运行结果