Hadoop运行环境搭建( 三 )

命令 选项参数 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
选项参数说明
选项 功能
-a 归档拷贝
-v 显示复制过程
(2)案例实操
(a)删除hadoop02中
/opt/module/hadoop-3.1.3/wcinput
[hll@hadoop02 hadoop-3.1.3]$ rm -rf wcinput/
(b)同步hadoop01中的/opt/module/hadoop-3.1.3到hadoop02
[hll@hadoop01 module]$ rsync -av hadoop-3.1.3/ hll@
hadoop02:/opt/module/hadoop-3.1.3/
3)xsync集群分发脚本
(1)需求:循环复制文件到所有节点的相同目录下
(2)需求分析:
(a)rsync命令原始拷贝:
rsync -av /opt/module hll@hadoop02:/opt/
(b)期望脚本:
xsync要同步的文件名称
[hll@hadoop01 bin]$ vim xsync
在该文件中编写如下代码
#!/bin/bash#1. 判断参数个数if [ $# -lt 1 ]thenecho Not Enough Arguement!exit;fi#2. 遍历集群所有机器for host in hadoop01 hadoop02 hadoop03doecho ====================$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"scp -r $pdir/$fname $host:$pdirelseecho $file does not exists!fidonedone(b)修改脚本 xsync 具有执行权限[haoll@hadoop01bin]$ chmod +x xsync (c)测试脚本[haoll@hadoop01~]$ xsync /home/haoll/bin (d)将脚本复制到/bin中,以便全局调用[haoll@hadoop01bin]$ sudo cp xsync /bin/ (e)同步环境变量配置(root所有者)[haoll@hadoop01~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh 注意:如果用了sudo,那么xsync一定要给它的路径补全 。让环境变量生效[haoll@hadoop02bin]$ source /etc/profile [haoll@hadoop03opt]$ source /etc/profile SSH无密登录配置1)配置ssh
(1)基本语法:ssh另一台电脑的IP地址
(2)ssh连接时出现Host key verification failed的解决方法
[hll@hadoop01 ~]$ ssh hadoop03
?如果出现如下内容
Are you sure you want to continue connecting (yes/no)?
?输入yes,并回车
(3)退回到hadoop01
[hll@hadoop02 ~]$ exit
2)无密钥配置
(1)免密登录原理

Hadoop运行环境搭建

文章插图
 
(2)生成公钥和私钥
[hll@hadoop01 .ssh]$ pwd
/home/hll/.ssh
[hll@hadoop01 .ssh]$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(3)将公钥拷贝到要免密登录的目标机器上
[hll@hadoop01 .ssh]$ ssh-copy-id hadoop01
[hll@hadoop01 .ssh]$ ssh-copy-id hadoop02
[hll@hadoop01 .ssh]$ ssh-copy-id hadoop03
注意:
还需要在hadoop02上采用hll账号配置一下无密登录到hadoop01、hadoop02、hadoop03服务器上 。
还需要在hadoop03上采用hll账号配置一下无密登录到hadoop01、hadoop02、hadoop03服务器上 。
3).ssh文件夹下(~/.ssh)的文件功能解释
known_hosts 记录ssh访问过计算机的公钥(public key)
id_rsa 生成的私钥
id_rsa.pub 生成的公钥
authorized_keys 存放授权过的无密登录服务器公钥
集群配置1)集群部署规划
 
hadoop01
【Hadoop运行环境搭建】hadoop02
hadoop03
HDFS
 
NameNode
DataNode
 
DataNode
SecondaryNameNode
DataNode
YARN
 
NodeManager
ResourceManager
NodeManager
 
NodeManager
注意:
NameNode和SecondaryNameNode不要安装在同一台服务器
ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上 。
2)配置文件说明
Hadoop配置文件分两类:默认配置文件和自定义配置文件,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值 。
(1)默认配置文件:
要获取的默认文件 文件存放在Hadoop的jar包中的位置
[core-default.xml]
hadoop-common-3.1.3.jar/core-default.xml
[hdfs-default.xml]
hadoop-hdfs-3.1.3.jar/hdfs-default.xml
[yarn-default.xml]
hadoop-yarn-common-3.1.3.jar/yarn-default.xml
[mapred-default.xml]
hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml
(2)自定义配置文件:
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在
$HADOOP_HOME/etc/hadoop 这个路径上,用户可以根据项目需求重新进行修改配置 。
3)配置集群
(1)核心配置文件


推荐阅读