服务器上传拉取文件(附带hive上传导出文件)

文章目录

1、通过ssh连接

1、查看或配置网卡信息

  • ifconfig:查看/配置计算机当前网卡的网卡配置信息

    • 如果无法使用 ifconfig,请使用 sudo apt install net-tools

    • 查看网卡对应的 ip地址

      ifconfig | grep inet

  • ping ip地址:检测到目标 ip地址 的连接是否正常

    • 检测本地网卡是否正常工作:ping 127.0.0.1

2、远程登录和复制文件

Linux 和 UNIX 自带 SSH 客户端,window 系统需要安装 PuTTY 或者 XShell,目前win10也携带了ssh

  • ssh [-p 端口号]用户名@ip:(secure shell)

    • 例:ssh -p 3003 user01@192.168.10.172

    • 注意:可以使用 ip、域名或者别名。当端口号为 22 时可以省略不写

  • scp 用户名@ip:文件名或路径(源文件) 用户名@ip:文件名或路径(目标文件):远程复制文件、目录(secure copy)

    • 例:

      # 将远程机器的文件 a.txt 复制在 b.txt 上
      scp -P 3003 user01@192.168.10.172:Desktop/a.txt b.txt 
      # 将本地文件 b.txt 复制在远程机器文件 a.txt 上
      scp -P 3003 b.txt user01@192.168.10.172:Desktop/a.txt
      # 复制目录需要添加参数 -r
      
  • SSH 高级

    • 免密码登录

      • 配置公钥:ssh-keygen

      • 上传公钥到服务器

        ssh-copy-id -p 端口号 用户名@IP地址

      • 解释:id_rsa.pub:公钥文件,id_rsa:私钥文件;本地使用私钥对数据进行加/解密,服务器使用公钥对数据加/解密。

        非对称算法:使用公钥加密的数据,需要使用私钥才能解密;使用私钥加密的数据也需要公钥才能解密。

    • 配置别名

      需要在~/.ssh/config文件追加别名的配置

      Host 别名名称
      	HostName	IP地址
      	User		用户名
      	Port		端口号
      

      通过别名连接:

      ssh 别名名称

      scp a.txt 别名名称:b.txt

    有关SSH配置信息都保存在用户根目录下的 .ssh 目录下

2、通过sftp连接

1、登陆服务器(Linux)

# 在命令行操作
# 使用密码连接
sftp [-P 端口号] 用户名@IP地址
# 使用密钥连接
sftp [-P 端口号] [-i 密钥文件地址] 用户名@IP地址

2、常见命令(不区分本地、远程环境)

关键字说明
help查看sftp环境所支持的命令
put上传文件到远程服务器
get下载文件到本地
clear清空界面
exit结束连接
quit退出

3、本地环境、远程环境命令

本地环境命令说明远程环境命令说明
lcd切换本地计算机的目录cd切换远程服务器的目录
lpwd查看本地计算机当前目录pwd查看远程服务器当前目录

4、下载文件到本地

# sftp 环境
# 文件的存储路径可以忽略,默认的存储路径可以通过 lpwd 查看
get 远程服务器文件路径 [文件的存储路径]

# 将根目录的a.txt 下载到D盘
lcd D:
get ~/a.txt

5、上传文件到远程服务器

# sftp 环境
# 默认的存储路径可以通过 lpwd 查看
put 文件路径 [远程服务器存储的路径]

# 将D盘的a.txt上传到根目录
cd ~/
put D:/a.txt

3、xshell

使用 XShell 连接到远程服务器后(连接方式略,可自行查找相关操作),可以通过工具栏上的新建文件传输 功能开启 sftp 连接(自动连接);然后使用 2、通过sftp连接 使用相关命令即可

4、问题:从 hive 中导出文件到本地(使用hdfs命令的方式)

  • 数据库:test
  • 数据表:t_table

1、先连接到相关远程服务器

(见上述1、 2、 3、

2、连接hive,查看 hdfs 路径

hive;
use test;
# 查看hive建表语句
show create table t_table;
# 例如:hdfs://hdfsunity/user/hive_base/test/t_table
# 注意 t_table 为目录;查看目录下的文件
hdfs dfs -ls /user/hive_base/test/t_table 
# 上述命令可得目录下文件为 000000_0;通过 hdfs 将目录拉到远程服务器根目录
hdfs dfs -get /user/hive_base/test/t_table/000000_0  ~/

3、将远程服务器文件拉取到本地

  • scp

    scp -P 22 dev@17.24.143.10:~/a.txt D:
    
  • sftp

    # sftp环境
    cd D:
    get ~/a.txt
    

4、hdfs常用使用命令

命令说明
hfds help查看命令帮助
hdfs dfs -ls [路径]查看路径内的内容
hdfs dfs -cat [文件名]查看文件数据
hdfs dfs -get [需要下载的文件路径] [存储路径]下载文件
hdfs dfs -put [需要上传的文件路径] [上传的路径]上传文件
    原文作者:微不足道的张三
    原文地址: https://blog.csdn.net/qq_44708990/article/details/121931852
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞