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

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

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

文章目录
      • 1、通过scp连接
        • 1、查看或配置网卡信息
        • 2、远程登录和复制文件
      • 2、通过sftp连接
        • 1、登陆服务器(Linux)
        • 2、常见命令(不区分本地、远程环境)
        • 3、本地环境、远程环境命令
        • 4、下载文件到本地
        • 5、上传文件到远程服务器
      • 3、xshell
      • 4、问题:从 hive 中导出文件到本地(使用hdfs命令的方式)
        • 1、先连接到相关远程服务器
        • 2、连接hive,查看 hdfs 路径
        • 3、将远程服务器文件拉取到本地
        • 4、hdfs常用使用命令

1、通过scp连接
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盘
get ~/a.txt D:/
5、上传文件到远程服务器
# sftp 环境
# 默认的存储路径可以通过 lpwd 查看
put 文件路径 [远程服务器存储的路径]

# 将D盘的a.txt上传到根目录
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环境
    get ~/a.txt D:
    
4、hdfs常用使用命令 命令说明hfds help查看命令帮助hdfs dfs -ls [路径]查看路径内的内容hdfs dfs -cat [文件名]查看文件数据hdfs dfs -get [需要下载的文件路径] [存储路径]下载文件hdfs dfs -put [需要上传的文件路径] [上传的路径]上传文件

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5669258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存