一、ssh免密登录
1、在每个节点生成公钥和私钥,并拷贝
Hadoop100:
生成公钥和私钥
[root@hadoop100] ssh-keygen -t rsa
然后敲(三个回车)出现如下图所示:
2、 将公钥拷贝到要免密登录的目标机器上
[root@hadoop100] ssh-copy-id hadoop100
[root@hadoop100] ssh-copy-id hadoop101
[root@hadoop100] ssh-copy-id hadoop102
三台虚拟机都要配置免密登录,这样更加快捷,hadoop100,hadoop101,hadoop102的免密配置操作是一样的
3、虚拟机的跳转命令
ssh 主机名
正常情况下跳转很麻烦,需要输入yes,密码之类的,配过免密就很方便
二、分布式集群格式化
(1)分布式集群第一次启动之前要格式化
格式化之前,要把三个服务器上的hadoop安装目录下的 data目录和logs目录都删掉
[root@hadoop101 opt]# cd /opt/module/hadoop-3.1.3
切换到hadoop-3.1.3目录下删掉data和logs文件
[root@hadoop101 opt]# rm -rf data
[root@hadoop101 opt]# rm -rf logs
(2)在指定namenode运行的服务器上执行格式化:
(namenode指定在hadoop100上运行的)
[root@hadoop100 hadoop-3.1.3]# hdfs namenode -format
(3)启动集群(单起)
hadoop100 | hadoop101 | hadoop102 | |
HDFS | NameNode DataNode | DataNode | SecondaryNameNode DataNode |
YARN | NodeManager | ResourceManager NodeManager | NodeManager |
Hadoop100:
hdfs --daemon start namenode
hdfs --daemon start datanode
yarn --daemon start nodemanager
hadoop101:
yarn --daemon start resourcemanager
hdfs --daemon start datanode
yarn --daemon start nodemanager
hadoop102:
hdfs --daemon start secondarynamenode
hdfs --daemon start datanode
yarn --daemon start nodemanager
1)启动hdfs相关
hdfs --daemon start namenode
hdfs --daemon start datanode
2)启动yarn相关
yarn --daemon start resourcemanager
yarn --daemon start nodemanager
三、修改hadoop配置文件
(1)在hadoop100上的start-dfs.sh 和stop-dfs.sh 文件最上边添加几行数据
cd /opt/module/hadoop-3.1.3/sbin
[root@hadoop100] vi start-dfs.sh
添加下面的内容
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
[root@hadoop100] vi stop-dfs.sh
添加下面的内容
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
在 start-yarn.sh 和 stop-yarn.sh文件最上方添加几行数据
[root@hadoop100] vi start-yarn.sh
添加下面的内容
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vi stop-yarn.sh
添加下面的代码
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
(2)在hadoop100上修改workers:
[root@hadoop100] cd /opt/module/hadoop-3.1.3/etc/hadoop
[root@hadoop100] vi workers
修改下面的
hadoop100
hadoop101
hadoop102
(3)把上面的修改同步到hadoop101、hadoop102上:
[root@hadoop100] scp - r /opt/module/hadoop-3.1.3/sbin/ hadoop101:/opt/module/hadoop-3.1.3/
[root@hadoop100] scp - r /opt/module/hadoop-3.1.3/sbin/ hadoop102:/opt/module/hadoop-3.1.3/
[root@hadoop100] scp - r /opt/module/hadoop-3.1.3/etc/hadoop/ hadoop101:/opt/module/hadoop-3.1.3/etc/
[root@hadoop100] scp - r /opt/module/hadoop-3.1.3/etc/hadoop/ hadoop102:/opt/module/hadoop-3.1.3/etc/
如上图所示,输入完代码会进行拷贝覆盖
四、启动停止集群
如果集群上已经启动hadoop相关程序,可以先执行停止。
群起命令
hadoop100:
start-all.sh
hadoop101:
start-yarn.sh
用jps查看一下
群停命令:
hadoop100:
stop-all.sh
hadoop101:
stop-yarn.sh