给root用户创建一对密钥,公钥和私钥,不对称(不一样),公钥可公开,别人拿到公钥后,可对文件需要加密的内容进行加密,然后传给服务器,服务器可用私钥解密。公钥加密的,只有私钥才能解密。反之亦然,可以用私钥加密,用公钥可以解密,私钥本身无法解密,但这样做没有意义。
拿到公钥,反推私钥,基本上不可能,以目前的计算能力,需要几百年。
RSA算法,产生密钥过程时间很短,但反推消耗时间非常长。例如,两个上千位的素数相乘,所得到的结果,如果反推,可能性太多,只能逐一尝试,这样就会消耗非常长的时间。
Enter file in which to save the key,这一句是问把生成的公钥和私钥存放在哪个文件,如果输入a,则生成a.pub和a两个文件。如果不输入,直接回车,则生成默认文件名id_rsa.pub和id_rsa。
可以使用任何编辑工具查看它们的内容,比如cat id_rsa.pub,里面是人类无法理解的字符串。
然后执行命令:
cp id_isa.pub authorized_keys
authorized_keys中存在id_rsa.pub公钥,就可以免密码连入
至此,hadoop0.20.2的伪分布式就配完了。
格式化分布式文件系统hadoop目录下执行bin/hadoop namenode -format
此操作的目的在于,在“名称节点”上建立一系列结构,用来存放整个HDFS的元数据,
出现绿圈的提示has been successfully formatted即是配置成功。
下面在hadoop目录下执行以下命令:
bin/start-all.sh
(如果进入bin目录,然后执行start-all.sh,会报“未找到命令”)
如果没有看到denied之类的提示,就是启动成功了。
检测守护进程启动情况在root用户下,使用java的jps,会看到类似以下的提示:
一样的规则,不能进入到java的bin目录下执行jps,而是java目录下执行bin/jps
表示伪分布式hadoop0.20.2配置成功。