scp安全拷贝
在102上 将102的JDK拷贝到103在103上 将102的hadoop拷贝到103在103上 将102的所有拷贝到104 rsync 远程同步
在102中,同步102中的hadoop到103 编写集群分发脚本xsync
脚本内容脚本权限测试 SSH无密登陆
生成公钥和私钥拷贝公钥(拷贝的目标可以对它无密登陆) 集群配置
规划常用的配置文件修改core-site.xml配置文件修改hdfs-site配置文件修改yarn-site.xml配置文件修改yarn-site.xml配置文件在102上集群分发已经配好的各类配置 群起集群
配置workers启动集群启动集群在配置了 ResourceManager 的节点(hadoop103)启动 YARN 查看相关网址
scp安全拷贝scp 可以实现服务器与服务器之间的数据拷贝。
在102上 将102的JDK拷贝到103scp -r /opt/module/jdk1.8.0_212 yjr@hadoop103:/opt/module在103上 将102的hadoop拷贝到103
scp -r yjr@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/在103上 将102的所有拷贝到104
scp -r yjr@hadoop102:/opt/module/* yjr@hadoop104:/opt/modulersync 远程同步
rsync 主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync 和 scp 区别:用 rsync 做文件的复制要比 scp 的速度快,rsync 只对差异文件做更新。scp 是把所有文件都复制过去。
rsync -av hadoop-3.1.3/ atguigu@hadoop103:/opt/module/hadoop-3.1.3/编写集群分发脚本xsync
作用:把文件循环复制到所有节点的相同目录下
先打印环境变量,发现可以放在/home/username/bin里面,可以全局使用。
#!/bin/bash #1. 判断参数个数 if [ $# -lt 1 ] then echo Not Enough Arguement! exit; fi #2. 遍历集群所有机器 for host in hadoop102 hadoop103 hadoop104 do echo ==================== $host ==================== #3. 遍历所有目录,挨个发送 for file in $@ do #4. 判断文件是否存在 if [ -e $file ] then #5. 获取父目录 pdir=$(cd -P $(dirname $file); pwd) #6. 获取当前文件的名称 fname=$(basename $file) ssh $host "mkdir -p $pdir" rsync -av $pdir/$fname $host:$pdir else echo $file does not exists! fi done done脚本权限
chmod +x xsync测试
然后把my_env.sh分发到103,104即可
sudo ./bin/xsync /etc/profile.d/my_env.shSSH无密登陆 生成公钥和私钥
ssh-keygen -t rsa拷贝公钥(拷贝的目标可以对它无密登陆)
[yjr@hadoop102 .ssh]$ ssh-copy-id hadoop102 [yjr@hadoop102 .ssh]$ ssh-copy-id hadoop103 [yjr@hadoop102 .ssh]$ ssh-copy-id hadoop104集群配置 规划
注意两点:
- NameNode和SecondaryNameNode不要安装在同一台服务器上。ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上。
最后规划如下:
3.x
core-site.xml用于配置hadoop集群的特性,它作用于全部进程及客户端
hdfs-site.xml配置hdfs集群的工作属性
mapred-site.xsml配置mapreduce集群的工作属性
yarn-site.xml
workers
2.x
slaves
文件包含了NameNode主机地址,监听端口等信息,对于伪分布式模型来说,其主机地址为localhost,NameNode默认使用的端口为8020
首先到它的目录
> cd /opt/module/hadoop-3.1.3/etc/hadoop
修改为
修改hdfs-site配置文件fs.defaultFS hdfs://hadoop102:8020 hadoop.tmp.dir /opt/module/hadoop-3.1.3/data hadoop.http.staticuser.user yjr
用于配置HDFS的相关属性,例如数据块的副本参数,NN和DN用于存储数据的目录。
同样去目录,将其修改为
修改yarn-site.xml配置文件dfs.namenode.http-address hadoop102:9870 dfs.namenode.secondary.http-address hadoop104:9868
用于配置YARN进程及YARN相关属性。首先要指明ResourceManager守护进程的主机和监听的端口,对于伪分布式模型来讲。
其主机为localhost,默认端口为8032,其次需要指定ResourceManager使用的scheduler,一及NodeManager的辅助服务。
修改yarn-site.xml配置文件yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop103 yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP RED_HOME
在102上集群分发已经配好的各类配置mapreduce.framework.name yarn
xsync /opt/module/hadoop-3.1.3/etc/hadoop/群起集群 配置workers
说明里面有几个节点就配置几个主机名称。配置完分发
如果集群是第一次启动,需要在 hadoop102 节点格式化 NameNode(注意:格式化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停止namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式化。)
hdfs namenode -format
初始化成功后,可以发现多了一个data文件夹和log文件夹
sbin/start-dfs.sh
102:
103:
104:
Web 端查看 HDFS 的 NameNode
(a)浏览器中输入:http://hadoop102:9870
(b)查看 HDFS 上存储的数据信息
Web 端查看 YARN 的 ResourceManager
(a)浏览器中输入:http://hadoop103:8088
(b)查看 YARN 上运行的 Job 信息



