二、Hadoop HA高可用集群搭建—第二步:服务器基础环境安装(jdk、ssh、免密登录设置)

一、使用VMvare创建两个虚拟机,关闭全部虚拟机的防火墙

1、把用于主节点的虚拟机名称设为master(按自己的喜好创建),把用于从节点的虚拟机名称设为slave1,修改主机名的命令:

sudo vim /etc/hostname   

2、为了虚拟机之间能ping通,需要修改虚拟机的ip地址(这里以在master机器操作为例子,从节点的虚拟机也要进行一致的操作)命令:sudo vim /etc/hosts

  • 把/etc/hosts中yangcx-virtual-machine修改为刚刚改过的主机名master,同时将前面的ip地址改为实际的ip地址。
  • 怎么知道自己虚拟机的ip地址?命令:ifconfig -a
  • 把/etc/hosts中的内容修改为下图所示:

  • slave1,slave2的ip地址就是从虚拟机slave1,slave1的真实ip地址。同样,我们在slave1,slave2虚拟机上也要进行这一步操作。

3、关闭虚拟机的防火墙

  • 一般来说,ubuntu默认都是安装防火墙软件ufw的,使用命令 sudo ufw version,如果出现ufw的版本信息,则说明已有ufw
  • 使用命令 sudo ufw status查看防火墙开启状态:如果是active则说明开启,如果是inactive则说明关闭
  • 开启/关闭防火墙 (默认设置是’disable’)sudo ufw enable|disable使用 sudo ufw disble 来关闭防火墙,并再次用 sudo ufw status  查看防火墙是否关闭

二、安装jdk(所有虚拟机master、slave1、slave2都要安装配置)

1、解压jdk到对饮文件夹:tar -zxvf  jdk1.8.0_161.tar.gz   /usr/softwares/

2、配置环境jdk环境:命令:sudo vim/etc/profile

3、将jdk的路径添加到文件后面(根据自己的文件路径来,我这里jdk1.8.0_161文件夹的路径是  /usr/softwares/)

  • export JAVA_HOME=/home/hadoop/java/jdk1.8.0_161

  • export JRE_HOME=/home/hadoop/java/jdk1.8.0_161/jre

  • export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

  • export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

  • 保存退出,

4、为了使配置立即生效,键入命令:source /etc/profile,或者重启虚拟机,命令:shutdown -r now

5、检查路径jdk是否安装成功,键入命令:java -version  如果出现了版本信息,则恭喜配置成功;

三、安装SSH服务

1、首先确保虚拟机能连上网

2、更新源列表:sudo apt-get update

3、安装ssh:输入"sudo apt-get install openssh-server"-->回车-->输入"y"-->回车-->安装完成。

4、查看ssh服务是否启动

5、打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。

四、建立ssh无密码登录本机

1、ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。

        对于集群间免密的设置也很简单,只要知道原理就好做了,分别在每台机器上按照上面配置本地免密登录,然后将其余每台机器生成的~/.ssh/id_dsa.pub公钥内容追加到其中一台主机的authorized_keys中,然后将这台机器中包括每台机器公钥的authorized_keys文件发送到集群中所有的服务器;这样集群中每台服务器都拥有所有服务器的公钥,这样集群间任意两台机器都可以实现免密登录了。

        免密的核心思想就是:如果B服务器authorized_keys有A服务器的公钥(锁),那么A服务器可以免密登录B服务器。首先保证主机名、hosts、防火墙正确设置:

(1)、创建ssh-key,,这里我们采用rsa方式     ssh-keygen -t rsa -P "" 

(注:P是要大写的,后面跟"" ,回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)

    (2)、进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的

cd ~/.ssh

     cat id_rsa.pub >> authorized_keys

完成后就可以无密码登录本机了。

(3)、登录localhost命令:        ssh localhost

( 注:当ssh远程登录到其它机器后,现在你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)

(4)、执行退出命令exit

(5)、第(2)~(4)步在master和slave1两台虚拟机上都是配置

(6) 、配置master无密码登陆slave1 

(7)、mater主机中输入命令复制一份公钥到home中

cp .ssh/id_rsa.pub ~/id_rsa_master.pub

(8)、把master的home目录下的id_rsa_master.pub拷到slave1的home下(做法是先拖到windows桌面上,在拖进slave1虚拟机中

(9)、slave1的home目录下分别输入命令

cat id_rsa_master.pub >> .ssh/authorized_keys

(11)、至此实现了mater对slave1的无密码登陆,同样三台机器之间均执行相同操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值