使用cygwin从windows上传日志到hdfs

简介:

  windows操作系统:windows server2003

   对cygwin不熟,所幸我只是需要进行很简单的应用,在同事的帮助下完成了这个工作。这里大致说一下,给大家提供一个思路。
   1、安装JDK,并配置环境变量。要注意安装路径不要空格,不要安装到类似于program files这种目录,否则cygwin会出问题。
   2、部署hadoop。直接拉一个liux上部署的hadoop,并部署到本地。我把它放到了D盘的根目录下。
   3、安装cygwin。主要是几个组件,不必细说。我把它安装到了D盘的根目录下。
   4、创建windows用户cloud。这里创建的用户,必须与linux里运行hadoop的用户相同,否则在上传文件时会提示没有权限。
   5、创建一个供cloud用户调用的bat文件,写入: 
 
  1. D:\cygwin\bin\bash --login -i D:/hadoop-0.20.2-CDH3B4/bin/hadoop -ls /   
   上述脚本的目的是为了测试使用windows脚本通过cygwin调用hadoop命令是否成功。注意斜杠的不同: 前半部分是windows下的斜杠,后半部分是linux下的斜杠!
   以cloud用户的身份运行这个脚本后,cygwin会其安装目录下的home文件下创建一个cloud的用户目录!
   6、上述测试通过以后,则在cygwin中的cloud用户目录中创建一个sh文件,比如名为upload.sh的文件,写入:
 
  1. #!/bin/bash  
  2. D:/ hadoop-0.20.2-CDH3B4/bin/hadoop fs -put $DIR/$FILES $HDFS 
   然后,重新编辑刚才的bat文件,把后面的命令更改为sh脚本名称:
 
  1. D:\cygwin\bin\bash --login -i /home/cloud/upload.sh 
   7、其它的部分的修改,主要是 hadoop配置文件,一般要把其中的 JAVA环境变量注释掉,或者某些部分的斜杠要改成 windows的习惯, 或者要修改windows的hosts表。 

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/665666
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
4月前
|
应用服务中间件 nginx Windows
windows下面Nginx日志切割
windows下面Nginx日志切割
75 0
windows下面Nginx日志切割
|
19天前
|
Kubernetes Linux Windows
kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
233 0
|
11天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
|
1月前
|
前端开发 Unix 开发工具
windows使用cygwin编译Xyce
windows使用cygwin编译Xyce
20 0
|
8月前
|
编解码 Linux PHP
windows和linux包含日志文件和环境变量getshell
windows和linux包含日志文件和环境变量getshell
82 1
|
24天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
77 1
|
25天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
29天前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
51 0