大数据学习----day03------1.集群的搭建(集群的通信,免密配置,远程复制)2.shell(具体见linux01中的linux文档)

1. 集群的搭建

1.1 克隆

见day02

1.2 集群的通信

  集群间通信通过SSH协议来通信,linux机器模式是带有SSHD的服务端的,但是没有ssh客户端,所以需要安装ssh客户端,从而实现通信

  检查yum源挂载是否正确(ls /mnt/dvd(自己的挂载目录)),在每台虚拟机中安装ssh的客户端(在CRT中,view--->commond window ---->下面出来个窗口,设置send commands to为all sessions,在其中输入安装ssh客户端的命令---->回车即可在所有的会话安装相应的软件)

1.3 密码登陆  

每台机器执行  安装ssh的客户端

yum -y install openssh-clients.x86_64

远程密码登陆的命令:

ssh  ip 或者主机名 (远程连接机器,需要输入密码)

 

 

 1.4 免密配置

远程登录进行操作指令的时候都要输入密码,这样很麻烦,所以需要进行免密配置

1  安全验证机制有两种:

a. 用户名和密码

b. 公钥和私钥机制

大致原理

请求方需要事先创建一对密钥(公钥和私钥;私钥自己持有,公钥交给目标机器)

 

 

 假如现在要配置一个有四台机器的集群,每台机器都要生成一对密钥,然后发送相应的公钥去目标机器,具体见下图

 

 

 

2. 步骤:

(1)在每台机器生成秘钥对

  ssh-keygen  回车(,每次生成的密钥对都不一样),其中生成的密钥对的位置为 /root/.ssh

(2)将生成好的公钥注册给集群的各个机器:

  ssh-copy-id  目标机器(注意:此处也要发送给自己)  操作后出现如下结果

Now try logging into the machine, with "ssh 'feng04'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

 

这样设置完后,在feng01下连接doit02,doit03doit04的时候或者发送指令的时候就不需要再输入密码了

 

注意:若是在克隆前就配置A机器的秘钥,进行克隆得到其他机器,这样其他机器的秘钥就都是A机器的,这个时候就需要删除这个秘钥重新生成,然后发送公钥给其他机器

1.5 远程复制

scp  文件/文件夹(-r)  目标机器:路径

若多台机器要装同一个软件,而且要进行环境配置(如jdk),每台都安装再进行环境配置就很麻烦。这个时候我们可以在一台机器上安装好软件并配置好环境,然后通过远程复制将软件以及配置文件复制过去即可

[root@feng01 apache-tomcat-7.0.47]# scp -r /usr/apps/apache-tomcat-7.0.47 feng04:$PWD

注意$PWD表示当前路径,即/usr/apps/(软件在前面机器中的位置)

 

2. shell

  Shell是命令解析器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户、shell和操作系统的关系:Shell就是一种命令解析器,解析用户的命令调用系统内核执行相关的命令

 

练习1

在控制台输入一个姓名,若输入的名字为root,则打印“这个世界会好吗”,如果为tom,则打印“天空之城”,否则打印“热河”

#!/bin/bash
read -p"请输入您的姓名:" name
if [ "$name" == root ]    # 由两处标黄处可知加不加双引号都行
    then
        echo 这个世界会好的
elif [ $name == tom ]
    then
        echo "天空之城"
else
    echo 热河
fi

 

posted @ 2019-10-29 09:51  一y样  阅读(201)  评论(0编辑  收藏  举报