您的位置:新葡亰496net > 电脑系统 > 0集群搭建,04下安顿ssh免密登入

0集群搭建,04下安顿ssh免密登入

发布时间: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虚构机。

    1.Linux

    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设想机的普通用户的顶点下输入如下命令:

    1.1安装vim

    自己下载的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
    

    新葡亰496net 1

     

    hostnamectl set-hostname   #这种办法长久生效

    3、JDK:jdk1.7.0_51

    下一场直接按回车到竣事。那时在/home/username/的目录下发掘多了一个.ssh/的目录。进入到.ssh/目录下会开掘有id_rsa和id_rsa.pub这五个目录,它们各自为私钥和公钥。

    1.2安装ssh客户端

    接下来,用

    sudo apt-get install openssh-client 

    命令,安装ssh客户端。

    ssh-keygen -t rsa -P ''
    

    hostname   #权且生效

    4、Hadoop版本号:2.2.0

    2.在B虚构机的普通用户的巅峰下输入如下命令:

    1.3安装ssh服务器

    然后用

    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
    

    1.4生成密钥

    使用

    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。

    2.Mac端

    同样,使用

    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.布局免密登陆服务器

    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以上。

    新葡亰496net 2

    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免密登入

    关键词:

上一篇:没有了

下一篇:没有了