1、生成公钥和私钥:
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2、将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh-copy-id hadoop103
注意:需要每种账户都配置,才能使用相关账户具有无密登录的权限
还需要在hadoop101上采用root账号,配置一下无密登录到hadoop101、hadoop102、hadoop103;
还需要在hadoop101上采用atguigu账号配置一下无密登录到hadoop101、hadoop102、hadoop103服务器上。
3、为每台虚拟机配置无密登录
第一种方法:在hadoop102以及hadoop103上执行以上操作
第二种方法:使用同样的秘钥,对hadoop101的rsa文件进行分发
xsync /home/caron/.ssh/
1. 配置workers
vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
在该文件中增加如下内容:
hadoop102
hadoop103
hadoop104
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
同步所有节点配置文件
xsync /opt/module/hadoop-3.1.3/etc/hadoop/workers
2. 启动集群
(1)如果集群是第一次启动,需要在hadoop101节点格式化NameNode(注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据)
hdfs namenode -format
(2)启动HDFS
start-dfs.sh
(3)在配置了ResourceManager的节点(hadoop102)启动YARN
start-yarn.sh
3. 集群基本测试
(1)上传文件到集群
上传小文件
hadoop fs -mkdir -p /user/caron/input
hadoop fs -put $HADOOP_HOME/wcinput/wc.input /user/caron/input
上传大文件
hadoop fs -put /opt/software/hadoop-3.1.3.tar.gz /
(2)上传文件后查看文件存放在什么位置
(a)查看HDFS文件存储路径
[caron@hadoop101 subdir0]$ pwd
/opt/module/hadoop-3.1.3/data/tmp/dfs/data/current/BP-938951106-192.168.10.107-1495462844069/current/finalized/subdir0/subdir0
(b)查看HDFS在磁盘存储文件内容
cat blk_1073741825
hadoop yarn
hadoop mapreduce
caron
caron
cat blk_1073741826>>tmp.jar
cat blk_1073741827>>tmp.jar
cat blk_1073741828>>tmp.jar
tar -zxvf tmp.jar
(4)下载
bin/hadoop fs -get /hadoop-3.1.3.tar.gz ./
(5)执行wordcount程序
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /user/caron/input /user/caron/output
1. 各个服务组件逐一启动/停止
(1)分别启动/停止HDFS组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
(2)启动/停止YARN
yarn --daemon start/stop resourcemanager/nodemanager
2. 各个模块分开启动/停止(配置ssh是前提)常用
(1)整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
(2)整体启动/停止YARN
start-yarn.sh/stop-yarn.sh