Linux-杂

Linux

创建用户
  • 输入如下命令创建新用户 :

    sudo useradd -m hadoop -s /bin/bash
    

    这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell

  • 接着使用如下命令设置密码,按提示输入两次密码:

    sudo passwd hadoop
    
  • 可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:

    sudo adduser hadoop sudo
    
  • 用 hadoop 用户登录后,我们先更新一下 apt,后续我们使用 apt 安装软件,如果没更新可能有一些软件安装不了:

    sudo apt-get update
    

    若出现如 “Hash校验和不符” 的提示,可通过更改软件源来解决。若没有该问题,则不需要更改

Ubuntu终端复制粘贴快捷键: 在Ubuntu终端窗口中,复制粘贴的快捷键需要加上 shift,即粘贴是 ctrl+shift+v

安装SSH,配置SSH无密码登录
  • Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server:

    sudo apt-get install openssh-server
    
  • 安装后,可以使用如下命令登陆本机:

    ssh localhost
    
  • 此时会有如下提示(SSH首次登陆提示),输入 yes ,然后按提示输入密码,这样就登陆到本机了

    SSH首次登陆提示

  • 但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。首先退出刚才的 ssh,就回到了原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

    exit                           # 退出刚才的 ssh localhost
    cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
    ssh-keygen -t rsa              # 会有提示,都按回车就可以
    cat ./id_rsa.pub >> ./authorized_keys  # 加入授权
    
  • 此时再用 ssh localhost 命令,无需输入密码就可以直接登陆了,如下图所示。

    SSH无密码登录

安装Java环境
  • 下载JDK安装包,根据所需版本选择名字中带有linux-x64和.tar.gz的

  • 在Linux命令行界面中,执行如下Shell命令:

    cd /usr/lib
    sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
    cd ~ #进入hadoop用户的主目录
    cd Downloads  #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
    sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解压到/usr/lib/jvm目录下
    
  • JDK文件解压缩以后,可以执行如下命令到/usr/lib/jvm目录查看一下:

    cd /usr/lib/jvm
    ls
    

    可以看到,在/usr/lib/jvm目录下有个对应版本的JDK目录

  • 下面继续执行如下命令,设置环境变量:

    cd ~
    vim ~/.bashrc
    

    上面命令使用vim编辑器打开了当前用户的环境变量配置文件

  • 请在这个文件的开头位置,添加如下几行内容:

    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    

    保存.bashrc文件并退出vim编辑器

  • 执行如下命令让.bashrc文件的配置立即生效:

    source ~/.bashrc
    
  • 可以使用如下命令查看是否安装成功:

    java -version
    

    如果能够在屏幕上返回如下信息,则说明安装成功:

    hadoop@ubuntu:~$ java -version
    java version "1.8.0_162"
    Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
    

    屏幕上会显示安装的对应版本

注意:只是为当前用户配置了Java环境,如果以root用户登录(假设刚才配置的不是root用户),则没有Java环境

网络配置
  • 使用集群时,虚拟机的网络连接方式要更改为“桥接网卡”模式才能实现多个节点互连,一定要确保各个节点的Mac地址不能相同,否则会出现 IP冲突

  • 修改主机名:

    sudo vim /etc/hostname
    

    需要重启Linux系统才能看到主机名的变化

  • 修改hosts文件:

    sudo vim /etc/hosts
    

    注意:一般hosts文件中只能有一个127.0.0.1,其对应主机名为localhost,如果有多余127.0.0.1映射,应删除,修改后需要重启Linux系统

    可以使用ping命令查看是否修改成功

SSH无密码登录其他虚拟机

设登录主机为Master节点,被登录主机为Salve节点

  • 生成Master节点的公匙,如果之前已经生成过公钥,必须要删除原来生成的公钥,重新生成一次,因为前面我们对主机名进行了修改。具体命令如下:

    cd ~/.ssh              # 如果没有该目录,先执行一次ssh localhost
    rm ./id_rsa*           # 删除之前生成的公匙(如果已经存在)
    ssh-keygen -t rsa       # 执行该命令后,遇到提示信息,一直按回车就可以
    
  • 为了让Master节点能够无密码SSH登录本机,需要在Master节点上执行如下命令:

    cat ./id_rsa.pub >> ./authorized_keys
    

    完成后可以执行命令“ssh Master”来验证一下,可能会遇到提示信息,只要输入yes即可,测试成功后,请执行“exit”命令返回原来的终端

  • 在Master节点将上公匙传输到Slave节点:

    # 例如scp ~/.ssh/id_rsa.pub hadoop@Slave:/home/hadoop/
    scp ~/.ssh/id_rsa.pub 用户名@主机名:/home/用户名/
    

    如果Master的用户名和Slave的用户名相同,则第一个用户名可以省略

    上面的命令中,scp是secure copy的简写,用于在 Linux下进行远程拷贝文件,类似于cp命令,不过,cp只能在本机中拷贝。执行scp时会要求输入Slave上用户的密码,输入完成后会提示传输完毕,如下图所示:
    img

  • 接着在Slave节点上,将SSH公匙加入授权:

    mkdir ~/.ssh       # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    rm ~/id_rsa.pub    # 用完以后就可以删掉
    

    如果有其他Slave节点,也要执行将Master公匙传输到Slave节点以及在Slave节点上加入授权这两步操作

  • 在Master节点上就可以无密码SSH登录到各个Slave节点了,可在Master节点上执行如下命令进行检验:

    # 例如ssh Slave
    ssh 用户名@主机名
    

    如果Master的用户名和Slave的用户名相同,则用户名可以省略

    执行该命令的效果如下图所示:
    公匙传输到Slave节点以及在Slave节点上加入授权这两步操作

  • 在Master节点上就可以无密码SSH登录到各个Slave节点了,可在Master节点上执行如下命令进行检验:

    # 例如ssh Slave
    ssh 用户名@主机名
    

    如果Master的用户名和Slave的用户名相同,则用户名可以省略

    执行该命令的效果如下图所示:
    img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值