通常hadoop入门文章,都会让新手从搭建入手,先是配置免密码登陆,然后执行start-all.sh,然而这部分如果没有linux基础,新手搭建过程中出问题是很容易出现疑问的。
启动namenode
启动datanode
上面提到的,启动datanode的时候实际上是从启动机器上ssh到所有机器上执行启动脚本,如果不设置免密码登录,启动的过程需要输入密码,很麻烦,而且启动过程可能因此中断。
ssh在每个用户下都会有一个.ssh文件夹,里面的id_rsa.pub表示用户公钥,id_rsa表示用户秘钥,公钥和秘钥是对应的,authorized_keys里面是值得信任的公钥。如果要登录过去的机器持有该机器该用户的用户公钥,ssh过程中通过对比公钥秘钥就可以登录了。具体的做法就是将公钥的内容发往要ssh的机器,保存在authorized_keys中
通过启动流程可以看出,启动一个datanode仅仅需要执行sbin/hadoop-daemon.sh start datanode
肯定不会用start-all.sh启动,通常将启动hadoop脚本写进系统的启动脚本,一旦机器自动启动,hadoop自动启动;至于是否免密码登录,看企业自身对服务器安全规划。不过可以确定一点,hadoop搭建可以不配置免密码登录