hadoop的HDFS的shell命令大全(一篇文章就够了)

news/2024/5/20 3:09:15 标签: hdfs, hadoop, big data

文章目录

  • HDFS的shell命令
    • 1、安全模式
      • 1.查看安全模式状态
      • 2.手工开启安全模式状态
      • 3.手工关闭安全模式状态
    • 2、文件操作指令
      • 1.查看文件目录
      • 2.查看文件夹情况
      • 3.文件操作
      • 4.上传文件
      • 5、获取文件
      • 6.查看文件内容
      • 7.创建目录
      • 8.修改副本数量
      • 9.创建空白文件(不推荐使用)
      • 10.显示文件统计信息
      • 11、修改权限
      • 12、查看指令的帮助信息
    • 1、安全模式
      • 1.查看安全模式状态
      • 2.手工开启安全模式状态
      • 3.手工关闭安全模式状态
    • 2、文件操作指令
      • 1.查看文件目录
      • 2.查看文件夹情况
      • 3.文件操作
      • 4.上传文件
      • 5、获取文件
      • 6.查看文件内容
      • 7.创建目录
      • 8.修改副本数量
      • 9.创建空白文件(不推荐使用)
      • 10.显示文件统计信息
      • 11、修改权限
      • 12、查看指令的帮助信息

HDFS的shell命令

1、安全模式

安全模式:集群启动时,DN所有的DN都必须向MM汇报磁盘使用状态和block存储信息。在此之前出于对hdfs的保护,会禁止访问hdfs,此状态为安全模式

1.查看安全模式状态

#查看安全模式状态
hdfs dfsadmin --safemode get
#-状态-
on|off
#-----

2.手工开启安全模式状态

#手工进入安全模式
hdfs dfsadmin --safemode enter

3.手工关闭安全模式状态

#手工退出安全模式
hdfs dfsadmin --safemode leave

2、文件操作指令

指令的一般格式如下:

hdfs dfs -CMD [-OPTION] [path1] ★★★#使用较多
hadoop fs -CMD [-OPTION] [path1]

1.查看文件目录

#查看指定路径的当前目录结构
hdfs dfs -ls <路径> 
#查看HDFS根目录结构的文件组成
hdfs dfs -ls /
#--------------------------------------------------------------
Found 1 items
drwxrwx---   - root supergroup          0 2021-12-29 08:37 /tmp
#--------------------------------------------------------------
#递归查看指定路径的目录结构
hdfs dfs -ls -R <路径> 
#递归根目录的目录结构
hdfs dfs -lsr /
hdfs dfs -ls -R /
#----------------------------------------------------------------------------------------
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test/kb16
drwxr-xr-x   - root supergroup          0 2021-12-29 12:25 /test/kb16/hadoop
-rw-r--r--   1 root supergroup  678260987 2021-12-29 12:25 /test/kb16/hadoop/ratings.csv
#----------------------------------------------------------------------------------------

2.查看文件夹情况

#统计目录下个文件大小
hdfs dfs -du <路径> 
#统计/test/kb16/hadoop/下文件大小
hdfs dfs -du /test/hadoop/
#--------------------------------------------------
678260987  678260987  /test/hadoop/test1.csv
#--------------------------------------------------
#汇总统计目录下文件(夹)大小
hdfs dfs -du -s <路径> 
#汇总统计目录下文件(夹)大小
hdfs dfs -du -s /
#----------------------
678260987  678260987  /
#----------------------
#统计文件(夹)数量
hdfs dfs -count [-q] <路径> 
#统计文件(夹)数量
#-------------------
10    1  678260987 /
#-------------------

3.文件操作

#移动文件
hdfs dfs -mv <源路径> <目的路径> 
#将ratings.csv移动到/tmp/hadoop-yarn中
hdfs dfs -mv /test/hadoop/ratings.csv /tmp/hadoop-yarn
#--------------------------------------------------------------------------------------
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test/kb16
drwxr-xr-x   - root supergroup          0 2021-12-29 17:41 /test/kb16/hadoop
drwxrwx---   - root supergroup          0 2021-12-29 08:37 /tmp
drwxrwx---   - root supergroup          0 2021-12-29 17:41 /tmp/hadoop-yarn
-rw-r--r--   1 root supergroup  678260987 2021-12-29 12:25 /tmp/hadoop-yarn/ratings.csv
#---------------------------------------------------------------------------------------
#将指定路径文件复制到目标路径
hdfs dfs -cp <源路径> <目的路径> 
#将/test/kb16/hadoop下的ratings.csv复制到test/kb16中
hdfs dfs -cp hdfs dfs -cp /test/hadoop/ratings.csv /test/kb16
#------------------------------------------------------------------------------------
2021-12-29 17:47:27,806 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:27,980 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:28,537 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:29,513 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:30,365 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:31,239 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:32,106 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false /test/kb16
2021-12-29 17:47:27,806 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:27,980 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:28,537 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:29,513 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:30,365 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:31,239 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:32,106 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#------------------------------------------------------------------------------------
#删除文件/空白文件夹
hdfs dfs -rm [-skiptrash] <路径> 
#删除/test/kb16下的ratings.csv
hdfs dfs -rm /test/ratings.csv
#-----------------------------
Deleted /test/ratings.csv
#-----------------------------
#递归删除文件/空白文件夹
hdfs dfs -rmr [-skiptrash] <路径> 

4.上传文件

#上传文件到hadoop
hdfs dfs  -put <多个linux上的文件> <hdfs路径>
#上传文件到/test/kb16中
hdfs dfs -put ratings.csv /test/
#-------------------------------------------------------------------------------------
2021-12-29 18:07:24,565 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,012 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,257 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,673 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:26,478 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:27,162 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将本地文件移动到hdfs路径上
hdfs dfs -copyfromlocal <多个linux上的文件> <hdfs路径> 
#将本地文件复制到hdfs路径上
hdfs dfs -movefromlocal <多个linux上的文件> <hdfs路径>

5、获取文件

#将hdfs中路径文件下载到本地
hdfs dfs -get <hdfs路径>  <linux路径>
#将hadoop中/test/kb16/hadoop下的ratings.csv下载到根目录中
hdfs dfs -get /test/hadoop/ratings.csv ~/
#-------------------------------------------------------------------------------------
2021-12-29 18:15:14,441 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将hdfs中路径文件合并到本地
hdfs dfs  -getmerge <源路径> <linux路径>
#
hdfs dfs -getmerge /test/hadoop/ratings.csv ratings.csv 
#-------------------------------------------------------------------------------------
2021-12-29 18:18:08,398 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将文件从HDFS中复制到本地
hdfs dfs -copytolocal [-ignorecrc] [-crc] [hdfs源路径] [linux目的路径] 
#将文件从HDFS中移动到本地
hdfs dfs -movetolocal [-crc] <hdfs源路径> <linux目的路径> 从本地移动

6.查看文件内容

#利用管道符进行文件的查看
hdfs dfs -cat path|查询范围
#利用text命令查看文件内容
hdfs dfs -text <hdfs路径> 查看文件内容
#查看文件尾部信息
hdfs dfs -tail [-f] <文件> 
#查看文件头部信息
hdfs dfs  -head [-f] <文件> 

7.创建目录

#创建多级文件目录
hdfs dfs -mkdir -p path1/path2

8.修改副本数量

修改hadoop备份的副本数量,默认是三份

#修改hadoop备份的副本数量
hdfs dfs -setrep [-r] [-w] <副本数> <路径>

9.创建空白文件(不推荐使用)

利用-touchz命令创建空白文件的过程中可能会产生错误,因此不推荐使用这个命令

#在指定路径上创建创建空白文件
hdfs dfs -touchz <文件路径> 

10.显示文件统计信息

#显示文件统计信息
hdfs dfs -stat -stat [format] <路径>
#------------------
2021-12-29 04:25:27
#------------------

11、修改权限

#修改文件权限
hdfs dfs -chmod [-r] <权限模式> [路径]
#修改文件的所有者
hdfs dfs -chown [-r] [属主][:[属组]] 路径 
#修改文件所属的用户组
hdfs dfs -chgrp [-r] 属组名称 路径 

12、查看指令的帮助信息

#查看指令的帮助信息
hdfs dfs -help [命令选项]

1、安全模式

安全模式:集群启动时,DN所有的DN都必须向MM汇报磁盘使用状态和block存储信息。在此之前出于对hdfs的保护,会禁止访问hdfs,此状态为安全模式

1.查看安全模式状态

#查看安全模式状态
hdfs dfsasmin --safemode get
#-状态-
on|off
#-----

2.手工开启安全模式状态

#手工进入安全模式
hdfs dfsasmin --safemode enter

3.手工关闭安全模式状态

#手工退出安全模式
hdfs dfsasmin --safemode leave

2、文件操作指令

指令的一般格式如下:

hdfs dfs -CMD [-OPTION] [path1] ★★★#使用较多
hadoop fs -CMD [-OPTION] [path1]

1.查看文件目录

#查看指定路径的当前目录结构
hdfs dfs -ls <路径> 
#查看HDFS根目录结构的文件组成
hdfs dfs -ls /
#--------------------------------------------------------------
Found 1 items
drwxrwx---   - root supergroup          0 2021-12-29 08:37 /tmp
#--------------------------------------------------------------
#递归查看指定路径的目录结构
hdfs dfs -ls -R <路径> 
#递归根目录的目录结构
hdfs dfs -lsr /
hdfs dfs -ls -R /
#----------------------------------------------------------------------------------------
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test/kb16
drwxr-xr-x   - root supergroup          0 2021-12-29 12:25 /test/kb16/hadoop
-rw-r--r--   1 root supergroup  678260987 2021-12-29 12:25 /test/kb16/hadoop/ratings.csv
#----------------------------------------------------------------------------------------

2.查看文件夹情况

#统计目录下个文件大小
hdfs dfs -du <路径> 
#统计/test/kb16/hadoop/下文件大小
hdfs dfs -du /test/kb16/hadoop/
#--------------------------------------------------
678260987  678260987  /test/kb16/hadoop/ratings.csv
#--------------------------------------------------
#汇总统计目录下文件(夹)大小
hdfs dfs -du -s <路径> 
#汇总统计目录下文件(夹)大小
hdfs dfs -du -s /
#----------------------
678260987  678260987  /
#----------------------
#统计文件(夹)数量
hdfs dfs -count [-q] <路径> 
#统计文件(夹)数量
#-------------------
10    1  678260987 /
#-------------------

3.文件操作

#移动文件
hdfs dfs -mv <源路径> <目的路径> 
#将ratings.csv移动到/tmp/hadoop-yarn中
hdfs dfs -mv /test/kb16/hadoop/ratings.csv /tmp/hadoop-yarn
#--------------------------------------------------------------------------------------
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test
drwxr-xr-x   - root supergroup          0 2021-12-29 10:07 /test/kb16
drwxr-xr-x   - root supergroup          0 2021-12-29 17:41 /test/kb16/hadoop
drwxrwx---   - root supergroup          0 2021-12-29 08:37 /tmp
drwxrwx---   - root supergroup          0 2021-12-29 17:41 /tmp/hadoop-yarn
-rw-r--r--   1 root supergroup  678260987 2021-12-29 12:25 /tmp/hadoop-yarn/ratings.csv
#---------------------------------------------------------------------------------------
#将指定路径文件复制到目标路径
hdfs dfs -cp <源路径> <目的路径> 
#将/test/kb16/hadoop下的ratings.csv复制到test/kb16中
hdfs dfs -cp hdfs dfs -cp /test/kb16/hadoop/ratings.csv /test/kb16
#------------------------------------------------------------------------------------
2021-12-29 17:47:27,806 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:27,980 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:28,537 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:29,513 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:30,365 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:31,239 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:32,106 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false /test/kb16
2021-12-29 17:47:27,806 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:27,980 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:28,537 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:29,513 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:30,365 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:31,239 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 17:47:32,106 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#------------------------------------------------------------------------------------
#删除文件/空白文件夹
hdfs dfs -rm [-skiptrash] <路径> 
#删除/test/kb16下的ratings.csv
hdfs dfs -rm /test/kb16/ratings.csv
#-----------------------------
Deleted /test/kb16/ratings.csv
#-----------------------------
#递归删除文件/空白文件夹
hdfs dfs -rmr [-skiptrash] <路径> 

4.上传文件

#上传文件到hadoop
hdfs dfs  -put <多个linux上的文件> <hdfs路径>
#上传文件到/test/kb16中
hdfs dfs -put ratings.csv /test/kb16
#-------------------------------------------------------------------------------------
2021-12-29 18:07:24,565 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,012 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,257 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:25,673 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:26,478 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2021-12-29 18:07:27,162 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将本地文件移动到hdfs路径上
hdfs dfs -copyfromlocal <多个linux上的文件> <hdfs路径> 
#将本地文件复制到hdfs路径上
hdfs dfs -movefromlocal <多个linux上的文件> <hdfs路径>

5、获取文件

#将hdfs中路径文件下载到本地
hdfs dfs -get <hdfs路径>  <linux路径>
#将hadoop中/test/kb16/hadoop下的ratings.csv下载到根目录中
hdfs dfs -get /test/kb16/hadoop/ratings.csv ~/
#-------------------------------------------------------------------------------------
2021-12-29 18:15:14,441 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将hdfs中路径文件合并到本地
hdfs dfs  -getmerge <源路径> <linux路径>
#
hdfs dfs -getmerge /test/kb16/hadoop/ratings.csv ratings.csv 
#-------------------------------------------------------------------------------------
2021-12-29 18:18:08,398 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
#-------------------------------------------------------------------------------------
#将文件从HDFS中复制到本地
hdfs dfs -copytolocal [-ignorecrc] [-crc] [hdfs源路径] [linux目的路径] 
#将文件从HDFS中移动到本地
hdfs dfs -movetolocal [-crc] <hdfs源路径> <linux目的路径> 从本地移动

6.查看文件内容

#利用管道符进行文件的查看
hdfs dfs -cat path|查询范围
#利用text命令查看文件内容
hdfs dfs -text <hdfs路径> 查看文件内容
#查看文件尾部信息
hdfs dfs -tail [-f] <文件> 
#查看文件头部信息
hdfs dfs  -head [-f] <文件> 

7.创建目录

#创建多级文件目录
hdfs dfs -mkdir -p path1/path2

8.修改副本数量

修改hadoop备份的副本数量,默认是三份

#修改hadoop备份的副本数量
hdfs dfs -setrep [-r] [-w] <副本数> <路径>

9.创建空白文件(不推荐使用)

利用-touchz命令创建空白文件的过程中可能会产生错误,因此不推荐使用这个命令

#在指定路径上创建创建空白文件
hdfs dfs -touchz <文件路径> 

10.显示文件统计信息

#显示文件统计信息
hdfs dfs -stat -stat [format] <路径>
#------------------
2021-12-29 04:25:27
#------------------

11、修改权限

#修改文件权限
hdfs dfs -chmod [-r] <权限模式> [路径]
#修改文件的所有者
hdfs dfs -chown [-r] [属主][:[属组]] 路径 
#修改文件所属的用户组
hdfs dfs -chgrp [-r] 属组名称 路径 

12、查看指令的帮助信息

#查看指令的帮助信息
hdfs dfs -help [命令选项]

http://www.niftyadmin.cn/n/1616082.html

相关文章

HDOJ 2099

Problem Description 一个整数&#xff0c;只知道前几位&#xff0c;不知道末二位&#xff0c;被另一个整数除尽了&#xff0c;那么该数的末二位该是什么呢&#xff1f; Input 输入数据有若干组&#xff0c;每组数据包含二个整数a&#xff0c;b&#xff08;0<a<10000, 1…

SPB Shell 3D:打造最酷3D效果的Android界面

Android的魅力在于其开放性&#xff0c;与iPhone的千人一面相比&#xff0c;Android用户则可以用各种应用装扮爱机&#xff0c;彰显个性&#xff0c;其中能让用户自定义系统界面的应用&#xff0c;比如ADW、LauncherPro、Go桌面更是大受欢迎。不过&#xff0c;说起这类应用&…

HDFS的NameNode节点信息管理(元数据)

文章目录HDFS的NameNode信息1、NameNode的信息存放地址2、NameNode节点数据查看3、fsimage文件4、edits文件HDFS的NameNode信息 1、NameNode的信息存放地址 NameNode存储DataNode的元数据&#xff0c;NameNode主要是用于维护DataNode信息。它存储在hadoop文件夹下data/dfs/na…

创业需谨慎:减少摩擦,打造快乐体验

编者注&#xff1a;本文原作者为Onesheet和ArtistData的创始人 Brenden Mulligan。编译时文章内容有轻微改动。 当问及对初创公司有何建议时&#xff0c;最近我脑袋里反复浮现一个主题——减少摩擦。 减少产品摩擦带来的直接效益是&#xff0c;减少用户挫败感&#xff0c;增加用…

HDOJ 2098

分拆素数和 Problem Description 把一个偶数拆成两个不同素数的和&#xff0c;有几种拆法呢&#xff1f; Input 输入包含一些正的偶数&#xff0c;其值不会超过10000&#xff0c;个数不会超过500&#xff0c;若遇0&#xff0c;则结束。 Output 对应每个偶数&#xff0c;输出…

虚拟机的简单优化

简单优化 1.关闭sexlinux #编辑etc下selinux的config&#xff0c;并将安全Linux关闭 vi /etc/selinux/config #--------------- #修改SELINUX SELINUXdisabled #---------------2.临时关闭 #清空所有防火墙 iptables -F #临时关闭sellinux setenforce 03.关闭ssh #编辑etc下…

HDOJ 2097

Sky数 Problem Description Sky从小喜欢奇特的东西&#xff0c;而且天生对数字特别敏感&#xff0c;一次偶然的机会&#xff0c;他发现了一个有趣的四位数2992&#xff0c;这个数&#xff0c;它的十进制数表示&#xff0c;其四位数字之和为299222&#xff0c;它的十六进制数BB…

linux利用ssh实现免密登录

文章目录免密登录1.生成密钥2.查看密钥3.本机免密4.查看是否免密成功5.连接主机6.查看是否连接成功免密登录 1.生成密钥 #返回当前用户 cd #生成密钥 ssh-keygen -t rsa #--------------------------------------------------------------- Generating public/private rsa ke…