spark安装 - 安装ssh
SSH 安装配置
本次主要针对 spark 集群部署需求
相关文章:
Linux环境下(ubuntu)如何编译 hadoop2.7 http://www.cnblogs.com/JustSunh/articles/5818007.html
spark安装 - 安装ssh http://www.cnblogs.com/JustSunh/articles/5817843.html
spark安装步骤- 安装hadoop http://www.cnblogs.com/JustSunh/articles/5817911.html
spark2.0 安装配置 http://www.cnblogs.com/JustSunh/articles/5817917.html
spark2.0 安装测试 http://www.cnblogs.com/JustSunh/articles/5818020.html
一 、前提说明
说明:
在进行某些联机跑程序的案例中,都需要使用到ssh无密码访问,像跑MPICH程序,或者是HADOOP程序等等。
所以对于ssh无密码访问的设置就是必须的了。
节点机器:
master: 172.21.30.22 DAS02 hadoop/hadoop
slave1 : 172.21.30.27 CESHI hadoop/hadoop
slave2 : 172.21.30.23 OTA hadoop/hadoop
Linux 环境变量:每台独立配置 /etc/profile (以 DAS02 为例)
export JAVA_HOME=/app/jdk1.8.0_73
export JRE_HOME=/app/jdk1.8.0_73/jre
export PATH=$PATH:/app/jdk1.8.0_73/bin
export CLASSPATH=./:/app/jdk1.8.0_73/lib:/app/jdk1.8.0_73/jre/lib
#export HADOOP_HOME=/app/hadoop-2.7.2
#xport HADOOP_COMMON_LIB_NATIVE_DIR=/app/hadoop-2.7.2/lib/native
#export HADOOP_OPTS="-Djava.library.path=/app/hadoop-2.7.2/lib"
#export PATH=$PATH:$HADOOP_HOME/bin
#export SCALA_HOME=/app/scala-2.10.4
#export PATH=$PATH:$SCALA_HOME/bin
#export SPARK_HOME=/app/spark-2.0.0-bin-hadoop2.7
#export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
二、详细步骤
1、要配置ssh首先要先有ssh,所以第一步要进行安装。 ====
sudo apt-get install openssh-server
2、首先需要给几台互联的计算机配置hosts文件,例如 master节点 172.21.30.22 DAS02 机:
sudo vi /etc/hosts
添加几条内容
127.0.0.1 localhost
192.21.30.22 DAS02
172.21.30.23 OTA
172.21.30.27 CESHI
保存退出,并且每台计算机都要这样配置。
3.节点访问需求
然后特别要注意一点的就是你需要在哪个用户下面使用无密码访问,因为linux是多用户系统,
所以不同的用户设置不同,可能会引起不必要的问题。
所以我这里设定一个场景,描述为计算机DAS02,计算机CESHI,分别都有一个用户为hadoop,
设置要求:
1)先让DAS02可以自己无密码访问自己;
2)让DAS02无密码访问CESHI;
3)让CESHI无密码访问DAS02;
4.DAS02和CESHI中, 新建账号hadoop :hadoop
~$ sudo addgroup hadoop
cat /etc/group 文件包含所有组
~$ sudo adduser --ingroup hadoop hadoop
cat /etc/shadow 和 /etc/passwd 系统存在的所有用户名
给hadoop用户创建目录,方可登陆:
sudo mkdir /home/hadoop
sudo chown hadoop /home/hadoop
sudo usermod -aG sudo hadoop
最后注销当前用户,使用hadoop用户进行登陆。
5 .无密码访问设置
先来解决第一个问题:在任何访问以前首先要确保要访问的计算机没有开启防火墙
5.1 生成公钥、秘钥
在DAS02上,以hadoop的用户身份生成密码,
使用命令ssh-keygen -t rsa,接下来会出现系列提示, 一直回车即可。
hadoop@DAS02:~$ ssh-keygen -t rsa
跳出 Overwrite (y/n)? y
成功后会产生几个文件,然后进入文件夹cd /home/shu/.ssh就会发现有:
id_rsa
id_rsa.pub
known_hosts
其中:
id_rsa 是密钥放在本地机上
id_rsa.pub 是公钥,
需要给访问的计算机上,所以接下来,要生成一个authorized_keys文件,
将 id_rsa.pub内容放入authorized_keys,
指令 cp id_rsa.pub authorized_keys
或者
ls id_rsa.pub 复制内容,粘贴到authorized_keys也行,
这样就是说把TOM的shu当成要登录的计算机,自己无密码访问自己,
使用ssh hadoop@DAS02 验证无密码访问,
也可能第一次需要密码,以后就不需要密码了。
5.2 要使CES01无密码访问DAS02
可以使用远程访问ssh登录到CES01上,
在hadoop用户下面使用ssh-keygen -t rsa命令,
再进入cd /home/shu/.ssh 对authorized_keys进行编辑:
把CES01下hadoop 的 authorized_keys的内容复制给
DAS02下的authorized_keys就可以了。
5.3 DAS02和CES01相互无密码访问
只需在2步的基础上,把CES01下面的id_rsa.pub的内容也复制给他自己和DAS02的
authorized_keys就可以了,这样双方都具有对方和自己的公钥,可实现无密码访问了
三 、SSH 扩展
1、ssh远程登录到另一台机器命令
需求:如果从一台linux服务器通过ssh远程登录到另一台机器,这种情况通常会在多台
服务器的时候用到。因为常常会为服务器架设一个防火墙,在外网不能直接访问某一台服务器,要能访问,
则需要先连接到防火墙外面的一台机器,然后再通过它连接防火墙内的服务器。
命令:
如用root帐号连接一个IP为192.168.1.102的机器,输入:“ssh 192.168.1.102 -l root”,
回车后输入root帐号的密码再回车确认即可。
如果该服务器的ssh端口不是默认的22端口,是自定义的一个如1234,则可在命令后面加参数-p,
如:“ssh 192.168.1.102 -l root -p 1234”
2. ssh 跨机器复制文件
将hadhoop复制到各个从服务器上
scp -r /app/hadoop-2.7.2 hadoop@CESHI:/app/
3.用户管理:
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
cat /etc/group文件包含所有组
cat /etc/shadow和/etc/passwd系统存在的所有用户名
创建用户 sudo useradd hadoop
修改密码为hadoop,按提示输入两次密码: sudo passwd hadoop
可考虑为 hadoop 用户增加管理员权限:sudo adduser hadoop sudo

浙公网安备 33010602011771号