假期进度四:分布式的搭建

一、完全分布式集群的搭建
1.进程规划
原则: ①核心进程尽量分散
②同质进程尽量分散

2.集群间复制
①scp
scp -r 源文件的用户名@主机名:源文件路径 目标文件的用户名@主机名:目标文件路径

	特点: 全量复制

②rsync

	rsync -rvlt  源文件路径  目标文件的用户名@主机名:目标文件路径
	
	
	源文件路径是个目录,源文件路径/,只会同步源文件目录中的内容!
	源文件路径,不仅会同步源文件目录中的内容,包括目录本身也会进行同步!

3.配置ssh免密登录

	如果A机器的a用户,希望使用b用户的身份,免密登录到B机器!
	
	操作步骤:①a用户在A机器生成一对密钥(私钥+公钥)
						ssh-keygen -t rsa
	          ②将公钥的内容,配置到b用户家目录/.ssh/authoxxx_keys
						ssh-copy-id b@B
			  ③a用户在A机器,就可以使用 ssh  b@B
			  
	如果在配置时,省略了用户名,那么默认使用当前操作的用户名作为目标机器的用户名!
			[a@A] ssh  B 等价于  [a@A] ssh  a@B 

4.两种ssh的使用方式
①登录到目标主机,再执行命令
[a@A] ssh B
[a@B] jps

			属于Login-shell,默认读取/etc/profile文件!
			
	②在A机器,执行命令
			[a@A] ssh  B jps
			属于non-Login-shell,不会读取/etc/profile文件!
			只会读取 ~/.bashrc
			
		解决: 在a@B的~/.bashrc中配置 source /etc/profile
		
	
	注意:当前主机也要配置自己到自己的SSH免密登录!
		
	配置SSH的作用 :
			①执行scp,rsync命令时,不需要输入密码,方便
			②在执行start-all.sh群起脚本时,需要输入密码
  1. 执行群起
    ①start-dfs.sh 可以在任意一台机器执行
    ②start-yarn.sh 如果不在RM所配置的机器执行,那么不会启动RM
    建议: 在RM所在的机器执行群起脚本!
    只需要配置RM所在机器到集群其他机器的SSH免密登录!

③在执行群起时,默认读取当前机器 $HADOOP_HOME/etc/hadoop/slaves文件中,当前集群配置的主机名

6.集群的时间同步
一个集群中,每台机器的时间必须保证是同步的!

主要借助linux的ntp服务执行和远程时间服务器的时间同步!

保证当前机器的ntp服务是开机自启动!
		chkconfig --list ntpd
		
使用 ntpdate  -u 时间服务器的地址
原文地址:https://www.cnblogs.com/yeyueweiliang/p/14213913.html