1.先把之前的一个虚拟机拍个快照。然后克隆(我克隆的是有jdk和hadoop的
如果没有则需要把java和hadoop文件拷贝过去 ,在opt/module下面 并且配置环境变量) 在/etc/profile中末尾添加(在 $ 和字中间的空格自行去掉一下)
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$ PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$ PATH: $ HADOOP_HOME/bin:$HADOOP_HOME/sbin
2.克隆之后需要修改静态ip和主机名
3.Vim /etc/udev/rules.d/70-persistent-net.rules 删除第一行。把第二行的name改为eht0
并且复制ATTR(address)的内容
4.Vim /etc/sysconfig/network-scripts/ifcfg-eth0 把复制的ip地址更新,并且把IPADDR修改为自己想要的ip
5.修改主机名 vim /etc/sysconfig/network 编辑自己的主机名,但是主机名称不要有”_”下划线
6.修改映射关系 虚拟机和windows都需要设置 虚拟机的是vim /etc/hosts 下面 windows的是在c盘下面system32下面的drivers的etc下面的host文件 修改完需要重启虚拟机
7.进入虚拟机。并单起集群 没有报错。关掉集群
8.配置ssh无密登陆
先在第一个上边生成公钥和私钥 ssh-keygen -t rsa 直接敲3个回车 然后将公钥拷贝到其他两个上面 然后相互登陆一下。 看看有没有问题。
9.配置群起集群 在hadoop-2.7.2里的etc中的hadoop中的slaves中配置
Hadoop01
hadoop02
hadoop03
#该文件中不允许有空格和空行
并且同步所有节点配置文件 xsync slaves
10.配置文件(修改昨天的配置文件。把resourcemanager分给第二台虚拟机 把secondarynamenode分给第三个 这个看自己 但是不要放一块)
配置完成把配置文件拷贝到其他虚拟机上面
命令:rsync -av /opt/module/hadoop-2.7.2/etc/hadoop jinghang@hadoop02:/opt/module/hado
Op-2.7.2/etc/hadoop
后边的/不要加,会拷贝错误 ,导致文件没有变化。
11.然后群起集群 在第一个中启动start-dfs.sh 在第二种启动start-yarn.sh 还有历史手动开一下sbin/mr-jobhistory-daemon.sh start historyservce
12.然后在网页上查看一下是否正确
13.可以配置两个脚本, 为了方便。
一个jpsall 方便查看开启的集群
#!/bin/bash
for((i=1;i<4;i++))
do
echo ----------------------hadoop0i−−−−−−−−−−−−−−−−−−−−−−−−−−−−sshhadoop0i----------------------------
ssh hadoop0i−−−−−−−−−−−−−−−−−−−−−−−−−−−−sshhadoop0i “source /etc/profile && jps”
Done
一个是myrsync 方便文件传输
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if ((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=basename $p1
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=cd -P $(dirname $p1); pwd
echo pdir=KaTeX parse error: Expected 'EOF', got '#' at position 7: pdir
#̲4 获取当前用户名称
use…host --------------
rsync -av pdir/pdir/pdir/fname user@hadoop0user@hadoop0user@hadoop0host:$pdir
done