发布时间:2019-06-30 11:25编辑:电脑系统浏览(164)
Ubuntu16.04下布置ssh免密登陆
自个儿是在WIn10意况下用VMWare安装的Ubuntu14.04,与MacOS Sierra举办ssh免密登陆配置。
ssh 无密码登陆要接纳公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下边笔者以Ubuntu为例。
hadoop集群情形急需相互登入到集群中的机器,一般的大家需求有八个账户hadoop用于登入集群中的其它机器
一、碰到表明
条件图谋:新建两台设想机,而且两台设想机上都装有Ubuntu16.04的种类,使两台设想机之间维持互通情形。分别为两台设想机命名称叫A,B。假诺大家要使A虚构机免密登入B虚构机。
ctrl Alt T可能直接展开Terminal
有机器A(10.0.2.1),B(10.0.2.100)。现想A通过ssh免密码登入到B。
先是以kube账户登录为例。
关联到ssh免密码登入相关。初叶在此以前最棒将服务器名称,/etc/hosts等都修改下。
1、虚构机平台:VMware10
1.在A设想机的普通用户的顶点下输入如下命令:
自己下载的Ubuntu镜像文件是从未自带vim命令的,所以,首先用
sudo apt-get install vim
安装vim。
设置到位后方可用 vim ~/.bashrc可能随意一个文件来测验vim。试行结果如图。不对文件做别的改动:q退出。(注意:此处只是测验vim是还是不是安装好,不实施也能够)。
1.在A机下生成公钥/私钥对。
修改服务器名称
2、Linux版本号:ubuntu-12.04.3-desktop-i386
ssh-keygen
hostnamectl set-hostname #这种办法长久生效
3、JDK:jdk1.7.0_51
下一场直接按回车到竣事。那时在/home/username/的目录下发掘多了一个.ssh/的目录。进入到.ssh/目录下会开掘有id_rsa和id_rsa.pub这五个目录,它们各自为私钥和公钥。
接下来,用
sudo apt-get install openssh-client
命令,安装ssh客户端。
ssh-keygen -t rsa -P ''
hostname #权且生效
4、Hadoop版本号:2.2.0
2.在B虚构机的普通用户的巅峰下输入如下命令:
然后用
sudo apt-get install openssh-server
安装ssh服务器。
linux免密码登入
5、集群节点:3个,各自是hadoopMaster。hadoopSlave1。hadoopSlave2
sudo mkdir /home/username/.ssh/
sudo touch /home/username/.ssh/authorized_keys
使用
ssh-keygen -t rsa
转移密钥。
境遇让输入内容的,直接输入回车。一共四个回车。
此时,进入~/.ssh 开掘早就生成五个公文 :id_rsa、id_rsa.pub
此时,使用
ssh localhost
再输入密码,就能够接连localhost。
ctrl d退出当前连接的服务器。
-P代表密码,-P ''
就象征空密码,也足以毫不-P参数,那样将要三车回车,用-P就三回回车。
该命令将在~/.ssh目录上边爆发一对密钥id_rsa和id_rsa.pub。
远程登入平安磋商的三种注脚机制:
注脚:文中fyzwjd是虚拟机username。
在B虚构机创建新目录/home/username/.ssh/,并且在该目录下创办新的文件authorized_keys。
同样,使用
ssh-keygen -t rsa
扭转密钥。八个回车。
此刻 使用ssh localhost 再输入密码,同样能够登陆到本机服务器。contral d退出。
与此相同的时间,本机的.ssh文件夹下,也生成了id_rsa、id_rsa.pub那多个文件。
使用
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
将id_rsa.pub的内容,放到authorized_keys文件里。此时用ls列出这几天文件夹得内容,有多个文本,分别是id_rsa、id_rsa.pub、authorized_keys。
此刻,ssh localhost,能够防密直接登入了。
万一在变化过程中钦点了文本路线和文书名,举个例子~/.ssh/k8s_rsa, 则生成~/.ssh/k8s_rsa和~/.ssh/k8s_rsa.pub七个文本
1 用户名 密码的报到验证办法 :ssh
二、盘算工作
3.在A设想机的普通用户的极端下输入如下命令:
3.1在设想机的 .ssh目录下采纳
scp id_rsa.pub >> your mac's username@your mac's ip:/Users/your mac's username/.ssh/id_rsa.pub.ubuntu
如:
scp id_rsa.pub >> nana@192.168.1.105:/Users/nana/.ssh/id_rsa.pub.ubuntu
把Ubuntu的id_rsa.pub文件传到mac,并以id_rsa.pub.ubuntu的名字存款和储蓄。
此刻 在mac端.ssh文件夹下查看是或不是有id_rsa.pub.ubuntu文件
3.2在mac端执行
cat id_rsa.pub.ubuntu >> authorized_keys
把传播的linux的公钥追加到authorized_keys后面。
3.3布局linux虚构机端口
今后设想机终端内,使用ifconfig,查出设想机ip。如:小编的虚构机ip为:192.168.85.129
在VMWare主页,找到编辑-设想网络编辑-更动设置-NAT形式-增加
设置如图所示的端口转载,主机端口提出设置为8000以上。
5.mac端使用scp -P 9000 /Users/nana/.ssh/authorized_keys na@192.168.1.108:/home/na/.ssh/authorized_keys
把authorized_keys发送到虚构机上。
此时 ,执行
0集群搭建,04下安顿ssh免密登入。ssh -p 9000 na@192.168.1.108
能够采纳ssh免密登陆linux设想机。
192.168.1.108为自个儿的win10系统的主机ip
2.public key复制到B机
把A机下的~/.ssh/k8s_rsa.pub 复制到B机的
~/.ssh/authorized_keys文件里,先要在B机上创设好 ~/.ssh
这几个目录,用scp复制。
2 密钥验证
1、安装虚构机平台,并新建三个Ubuntu设想机,记为hadoopMaster。
sudo scp -r id_rsa.pub username@10.192.12.103:/home/username/.ssh/
scp ~/.ssh/k8s_rsa.pub kube@10.0.2.100:~/.ssh/authorized_keys
server A免登陆到server B:
2、在hadoopMaster上安装JDK。
将A设想机生成的公钥复制到B虚构机的.ssh/目录下,如上命令的IP为B设想机的IP。
是因为还从未免密码登陆的,所以要输入叁遍B机的root密码。
1.在A上转移公钥私钥。
Jdk一般有五个版本号:Open JDK、SunJDK,提出选拔Sun JDK。安装进程举个例子以下:
4.在B设想机的终端下输入如下命令:
3.authorized_keys的权力借使600!!!
2.将公钥拷贝给server B,要重命名成authorized_keys(从英文名就清楚意思了)
先去 Oracle下载Linux下的JDK压缩包。
cat /home/username/.ssh/id_rsa.pub >> /home/username/.ssh/authorized_keys
rm -rf /home/username/.ssh/id_rsa.pub
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys
3.Server A向Server B发送三个连连乞请。
进入在存放jdk文件夹的此时此刻文件夹,将解压好的jdk1.7.0_51文件夹用最高权力复移动到/usr/lib/jvm文件夹里,此时正是未有jvm文件夹也能够运行举个例子以下命令。jvm文件夹将取得创制。
将从A传过来的公钥里的内容复制到新建的文书authorized_keys中,然后删除公钥,再修改权限。
4. 免密登录到B机
4.Server B赢得Server A的音讯后,在authorized_key中索求,倘诺有照拂的用户名和IP,则随机生成三个字符串,并用Server A的公钥加密,发送给Server A。
sudo mv jdk1.7.0_51 /usr/lib/jvm/
5.在A虚构机的终极下测量检验ssh是还是不是能够成功的免密登陆B虚构机,输入以下命令:
ssh -i ~/.ssh/k8s_rsa.pub kube@10.0.2.100
5.Server A得到Server B发来的音信后,使用私钥实行解密,然后将解密后的字符串发送给Server B。Server B实行和变化的对照,假诺同样,则允许免登陆。
接下来须求意况变量设置,进入当前username的主目录,改换.profile文件。注意。该公文是眼前用户的布署文件,借使要对利用微型Computer的全体用户生效,那么必须设置的公文应该是 /etc/profile。
ssh 10.192.12.103
5. 将private加入ssh-agent
简单的讲:A要免密码登入到B,B首先要具有A的公钥,然后B要做壹次加密验证。对于非对称加密,公钥加密的密文不可能公钥解开,只好私钥解开。
sudo gedit ~/.profile
若是不要求输入B的登陆密码,直接进去B,那么表示配置成功。
ssh-add k8s_rsa
生成公/私钥 ssh-keygen -t rsa #在当前用户home目录下的.ssh下出现id_rsa(私钥) id_rsa.pub(公钥) 然后将公钥复制到被登入机的.ssh/authorized_keys文件中
在终极加上:
注意事项:
ssh-copy-iduser@hostname# user为报到目标机的用户名,hostname为目标机的域名
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51
exportJRE_HOME=/usr/lib/jvm/jdk1.7.0_51/jre
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
假设发生密钥对名称叫id_rsa和id_rsa.pub,则在登录时没有要求选用 -i 参数钦点私钥。
#参考man ssh-copy-id
然后保存关闭。此时在指令行输入java -version将会还是展现java未有安装。
第三遍登入时会必要输入yes, 将长途主机参预 known hosts中
普通用户参加root组
这时候。供给使用source更新下.profile文件:
usermod -g root username
$ source ~/.profile
# /etc/sudoers 下可配备以最棒用户权限操作命令
再一次利用java -version命令能够看出诸如以下输出:
username ALL=(ALL) ALL
fyzwjd@ubuntu:~$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build1.7.0_51-b18)
到此,已经将oracle jdk配置实现。
如若以前系统之中早就设置了openjdk。能够使用诸如以下方法将默许jdk改动过来:
$ sudo update-alternatives --install/usr/bin/java java /usr/lib/jvm/jdk1.7.0_51/bin/java 300
输入sun jdk前的数字就好了
$ sudo update-alternatives --install/usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_51/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
3、安装SSH
能够先检查是还是不是早就有ssh,也可以跳过那步,直接设置。
$ sudo ps -ef | grep ssh
假若仅仅有 ssh-agent 就务须安装openssh-server了。
$ sudo apt-get install ssh openssh-server
4、配置SSH公钥
$ ssh-keygen -t rsa -P "yourPassWord"
$ ssh-keygen -t rsa -P "yourPassWord"
ssh-kengen 是用连字符连着的。千万不要分开。另外,password是您的杜撰机password,而不是空(当然,如果你的设想机password为空,另当别论)。
5、创设IP和hadoop节点的映照关系
改变etc/hosts文件,在上面扩大hadoop节点IP和称号的投射关系。
$ sudo gedit /etc/hosts
在中间加上(ip是节点可配备的ip。自个儿设定):
192.168.32.*** hadoopMaster
192.168.32.*** hadoopSlave1
192.168.32.*** hadoop Slave2
6、克朗多少个Ubuntu虚构机,作为hadoop的其他三个节点
7、分别更动四个Ubuntu设想机的称呼
$ sudo gedit /etc/hostname
分别将多少个设想机名称改为:hadoopMaster,hadoopSlave1,hadoopSlave2。
8、更换五个Ubuntu虚构机的IP
三、配置SSH无password登陆。
其指标是让hadoopMaster免password登录hadoopSlave1和hadoopSalve2。进程举例以下:
1、在hadoopMaster上创立授权文件authorized_keys
新葡亰496net, 进入~/.ssh/文件夹下运营”ls –a”,发现開始是平昔不authorized_keys文件的,能够利用上边三种办法来变化:
(1) 将id_rsa.pub追加到authorized_keys授权文件里;
$ cat id_rsa.pub >> authorized_keys
(2) 复制id_rsa.pub 为 authorized_keys
$ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
完成后就能够无password登陆本机了,能够品尝登录localhost
$ ssh localhost
2、将授权文件复制到hadoopSlave1、hadoopSlave2同样目录下
$ scp authorized_keys fyzwjd@hadoopSlave1:~/.ssh/authorized_keys
$ scp authorized_keys fyzwjd@hadoopSlave2:~/.ssh/authorized_keys
拷贝进程必须password,拷贝之后就可见免password登入hadoopSlave1和hadoopSlave2了。
四、安装Hadoop2.2,搭建集群
1、在hadoopMaster上安装hadoop
首先到Apache官英特网下载hadoop2.2的压缩文件,将其解压到近日用户的根目录中(home/fyzwjd/)。将解压出的目录改名叫hadoop。
$ sudo mv hadoop-2.2.0 hadoop
配置在此之前,先在该半夏件系统创设上边目录:~/hadoop/tmp、~/dfs/data、~/dfs/name。
重中之重涉嫌的布署文件有7个:都在/hadoop/etc/hadoop目录下,能够用gedit命令对其实行编辑。
~/hadoop/etc/hadoop/hadoop-env.sh
~/hadoop/etc/hadoop/yarn-env.sh
~/hadoop/etc/hadoop/slaves
~/hadoop/etc/hadoop/core-site.xml
~/hadoop/etc/hadoop/hdfs-site.xml
~/hadoop/etc/hadoop/mapred-site.xml
~/hadoop/etc/hadoop/yarn-site.xml
(1) 配置文件1:hadoop-env.sh
改动JAVA_HOME值(export
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(2) 配置文件2:yarn-env.sh
改动JAVA_HOME值(export
JAVA_HOME=/usr/lib/jvm/jdk1.7.0_51)
(3) 配置文件3:slaves
hadoopSalve1
hadoopSlave2
(4) 配置文件4:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoopMaster:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/fyzwjd/hadoop/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.fyzwjd.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.fyzwjd.groups</name>
<value>*</value>
</property>
</configuration>
(5) 配置文件5:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoopMaster:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/fyzwjd/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/fyzwjd/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
(6) 配置文件6:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoopMaster:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoopMaster:19888</value>
</property>
</configuration>
(7) 配置文件7:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoopMaster:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoopMaster:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoopMaster:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoopMaster:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoopMaster:8088</value>
</property>
</configuration>
2、将hadoop目录复制到hadoopSlave1和hadoopSlave2上。
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave1:~/
scp –r/home/fyzwjd/hadoop fyzwjd@hadoopSlave2:~/
五、验证与推行
全体的机件运营和终止服务都在/hadoop/sbin文件夹下。一般运行hadoop前会格式化namenode。详细命令參考举个例子以下:
进入安装文件夹: cd ~/hadoop/
格式化namenode:./bin/hdfs namenode –format
启动hdfs: ./sbin/start-dfs.sh
此时在hadoopMaster上面执行的进程有:namenodesecondarynamenode
hadoopSlave1和hadoopSlave2上面执行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
此时在hadoopMaster上面执行的进程有:namenodesecondarynamenoderesourcemanager
hadoopSlave1和hadoopSlave2上面执行的进程有:datanode nodemanaget
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck/ -files -blocks
查看HDFS: http://hadoopMaster:50070
查看RM: http:// hadoopMaster:8088
本文由新葡亰496net发布于电脑系统,转载请注明出处:0集群搭建,04下安顿ssh免密登入
关键词:
上一篇:没有了
下一篇:没有了