Hadoop安装与集群配置(三)

在写文章之前,笔者先记录下昨天遇到的问题。

我一共起了三台机器,在手动启动nn和dn的时候整个集群正常。但使用start-dfs.sh命令来启动的时候,若dn1启动,则dn2不启动,反之,dn2启动dn1不启动。手动启动未启动的那一台dn,整个集群恢复正常。start-dfs.sh只能带起来两台dn的其中一台dn。

尝试若干办法无果,在配置ssh免密登陆后,发现,上述问题被解决。应该是密码验证问题,我的三台机器密码都是一致的,若出现上述问题,配置ssh免密之后即可解决。

在这里插入图片描述
不能删除,若删除也可能会出现上述情况
配置ssh免密后集群正常启动。
在这里插入图片描述
配置SSH免密登录
在上一步骤中,每次都需要输入密码,非常麻烦,故需要配置一下SSH的免密登录。

执行如下步骤:

ls -la

cd .ssh

ssh-keygen -t rsa (四个回车)

会用rsa算法生成私钥id_rsa和公钥id_rsa.pub
在这里插入图片描述
利用ssh-copy-id slaveX命令把生成的公钥copy到其他的节点上。

copy应该不再需要密码

重新使用start-dfs.sh启动集群

此时执行启动命令,则还是需要输入主节点的密码,故也需要把公钥拷贝一份到自己的主节点上(为了安全性,笔者不在主节点拷贝公钥,即每次启动dfs只需输入一次密码。)

基本操作
使用hdfs dfs 或者hadoop fs命令对文件进行增删改查的操作

hadoop fs -ls /

hadoop fs -put file /

hadoop fs -mkdir /dirname

hadoop fs -text /filename

hadoop fs -rm /filename

动态扩展
设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况。

启动停掉的slave节点,通过网页观察datanode的动态添加

横向扩展
添加新的节点,步骤如下:

启动slave3,关闭防火墙,修改hostname

修改etc/hosts,加入对自己以及其他机器的解析,重启网络

在master中设定对于slave3的解析

启动slave3的datanode,通过网页进行观察

hdfs dfsadmin –shutdownDatanode slave3:50020

猜你喜欢

转载自blog.csdn.net/qq_41440381/article/details/83628181