Hadoop — 搭建大数据平台笔记 — 安装配置JDK,SSH

本文章包含以下内容:
1. 安装与配置JDK
2. 配置SSH无密码登录

接上篇文章  Hadoop — 搭建大数据平台笔记 — 虚拟机的安装与配置


1. 安装配置JDK

可以先把JDK下载自己的电脑上然后拷贝到每个虚拟机中,下载地址http://www.oracle.com/technetwork/java/javase/downloads/index.html
进入之后点击JDK下面的Download

先点击Accept才可以下载,下载第二个即可。然后分别拷贝到三个虚拟机中

下载好后先用命令创建文件夹,输入以下命令(输入一个之后回车再输入另一个)

cd /usr
sudo mkdir java

然后 复制下载的压缩包到 /usr/java下面运行如下命令
sudo cp 压缩包的位置 /usr/java/   然后输入密码

这里我们先输入cp,然后把压缩包拖入到终端(黑框框)里面就会自动将压缩包的地址写入这里 ,回车,稍等片刻

然后我们进入 /usr/java 目录,输入下面命令回车
cd /usr/java
再输入解压命令,回车
sudo tar xzvf 文件名 (这里文件名输入jdk然后按一下Tab键就自动补全了)

当可以继续输入命令时就说明解压完成了,这时候输入 ls  (这里是小写的L,不是数字1) 可以查看文件夹内的东西

其中jdk-9.0.1是我们的主要内容,(版本不同可能名字不一样,随机应变)

然后我们输入下面命令修改配置

sudo gedit ~/.bashrc

然后在文件的最后加入如下代码(注意jdk-9.0.1与上面的文件夹名字对应,不同的人可能不同请自行修改)

export JAVA_HOME=/usr/java/jdk-9.0.1
export PATH=$JAVA_HOME/bin:$PATH

ctrl+s保存,关闭

然后输入下面命令使修改生效

source ~/.bashrc

然后输入 java -version 回车,如果是以下样式则表示安装成功

其他两个虚拟机做同样操作

上文提到的命令介绍

cd /usr          cd为切换目录,就是打开文件夹,后面是文件夹的位置
sudo mkdir java      mkdir为新建文件夹
sudo cp 地址1  地址2     cp为copy 复制的意思,地址1表示要复制的文件,地址2表示复制到哪里
sudo tar xzvf 文件名  tar为一个压缩软件,xzvf为参数,不多解释,这里的意思为解压后面的文件
sudo gedit ~/.bashrc  上文提到过为编辑文件
source ~/.bashrc   编辑完保存后不会立即生效,需要用该命令使我们编辑的内容生效,否则运行java命令就会提示找不到
java -version  刚才我们安装的jdk里面附带的命令,用该命令为了验证我们的安装过程是否正确。


2. 配置SSH无密码登录

首先介绍一下什么是ssh

简单说,SSH是一种网络协议,用于计算机之间的加密登录。我们可以通过ssh命令,输入用户名,密码,ip地址,即可连接一台linux主机。

  • 安装ssh

这一条是我后来又写的,因为我忘记了安装ssh-server,就是说我只能连接别人而不能被别人连接。接下来是先安装ssh服务

如果你和我用的同一个系统(Ubuntu,那么你可以使用以下命令安装,其他版本的Linux请自行解决)

安装ssh-server   (三台虚拟机都需要操作),中途可能需要输入一下字母 Y 回车确认安装

sudo apt-get install openssh-server

安装完成后启动ssh (中途有弹窗输入密码)

/etc/init.d/ssh start

  • 生成密钥Pair (三台虚拟机都执行此操作)

输入命令
ssh-keygen -t rsa

然后一直回车,直到出现非常可爱的画面为止。

  • 在第一台虚拟机上(Hadoop01,在我这里是命名为master的主机)导入authorized_keys

执行如下命令

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  • 远程无密码登录(把 Hadoop1 上的 authorized_keys 拷贝到其他主机的相应 目录下)

这里我们使用一个新命令,把文件发送到另外两个虚拟机中去

第一次使用此命令是需要手动输入yes后回车来确认连接

scp ~/.ssh/authorized_keys slave1:~/.ssh/

然后需要输入slave1的密码,发送完成后同样发送到slave2

scp ~/.ssh/authorized_keys slave2:~/.ssh/

 

  • 修改两台虚拟机中authorized_keys 的权限

sudo chmod 600 ~/.ssh/authorized_keys

  • 测试是否可以免密码登录

在第一台虚拟机中(我这里是名为master的虚拟机),运行如下命令

ssh localhost

当看到类似这样的画面时,说明可以ssh连接了,输入exit回车退出,接着重复操作,连接slave1和slave2测试,注意,此过程是无须输入密码的,如果输入密码则表示免密登录过程配置出现问题,请手动检测。