• 1-centOS7搭建伪分布式


    前言:虚拟机快照的使用

    VMware Workstation 软件可以用快照进行迅速的虚拟机状态的切换

    ※. 类似于虚拟机备份, 可以使用备份进行快速恢复。 比如没安装jdk之前拍摄快照来备份

    ※. 若jdk没安装好或者jdk环境变量配置的有问题, 可以用安装之前的快照快速恢复虚拟机

    1.拍摄快照:

    2.恢复到某快照的位置:

    (可以在创建用户前,生成公钥私钥前,安装jdk前,搭建伪分布式Hadoop之前拍摄虚拟机快照)

    一、创建用户

    -----------------------------------------------------------------------------------------------

    创建一个用户,用户名为hadoop ,注意在xshell中操作如下四个命令

    1.1.创建用户

    sudo  useradd  -m   hadoop   -s   /bin/bash

    注意: 添加用户 hadoop 并在以后登录时采用解析器/bin/bash

    1.2.设置用户名密码:

    sudo  passwd  hadoop

    注意:用passwd命令给hadoop用户设置密码(密码不是显示,所以写慢一些,别写错)

    1.3.创建sudo组:

    groupadd  sudo

    1.4.将hadoop用户添加到sudo组中:

    usermod   -a  -G   sudo  hadoop

    二、修改主机名:

    -----------------------------------------------------------------------------------------------

    2.1.在虚拟机中执行如下命令(不要在xshell中执行)

    sudo  gedit   /etc/hostname    

    用上边命令打开hostname文件将里边内容改为master(修改虚拟机的主机名)

    2.2.在虚拟机中用如下命令添加主机名与ip的映射关系:

    sudo  gedit  /etc/hosts

    用上边的命令打开hosts文件,然后给最后一行添加:      真实的IP地址    主机名

    具体参考下图:

    2.3.重启虚拟机,以hadoop用户登录:

    sudo  reboot

    三、生成公钥和私钥:

    -----------------------------------------------------------------------------------------------

    ssh-keygen  -t   rsa

    注意:有三个地方需要敲回车进行确认

    四、拷贝公钥到登录电脑:

    -----------------------------------------------------------------------------------------------

    4.1.下边命令拷贝公钥 :

    cd  ~/.ssh

    ssh-copy-id   -i   id_rsa.pub   hadoop@master

    Are you sure you want to continue connecting (yes/no)?后边输入   yes

    hadoop@master's password:    输入密码

     

    作用是拷贝公钥id_rsa.pub复制到登录电脑hadoop@master的 .ssh/authorized_keys文件中

    注:hadoop是虚拟电脑的用户名, master是虚拟电脑的ip地址(在上边将ip映射成了master)

    4.2.测试ssh登录:

    ssh  master             #不报错,并且ssh登录成功就行

    五、安装JDK

    5.1.解压:

    tar  -zxvf   jdk-8u231-linux-x64.tar.gz  -C  /usr/lib/jvm

    5.2.配置jdk环境变量:

    gedit   ~/.bashrc         注意:左边在虚拟机中执行(别在xshell中执行)

    注意:让环境变量立即生效命令为       source  ~/.bashrc

    注意:验证环境变量是否生效命令为      java  -version

    上图的代码如下:

    export  JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231

    export  JRE_HOME=$JAVA_HOME/jre

    export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

    export  CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

    source  ~/.bashrc                       #让环境变量立即生效

    java  -version                          #验证环境变量是否生效(jdk是否是1.8.0_231版本)

    六、伪分布式hadoop搭建:

    6.1.将hadoop安装包复制到当前用户主目录里:

    6.2.解压hadoop安装包:

    将hadoop安装包解压到usr下的local文件夹内, 命令如下:

    sudo  tar  -zxvf   hadoop-3.1.2.tar.gz    -C    /usr/local

    将命令光标切换到/usr/local文件夹内

    cd /usr/local/

    将hadoop-3.1.2改名为hadoop

    sudo  mv  /usr/local/hadoop-3.1.2  /usr/local/Hadoop

    6.3.将 /usr/local/hadoop文件夹所有者改为hadoop

    sudo  chown  -R  hadoop  /usr/local/hadoop

    6.4.配置hadoop环境变量:

    A.编辑 个人主目录下的  .bashrc

    gedit  ~/.bashrc

    注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)

    B.添加hadoop环境变量:

    在 .bash配置文件中添加如下两行环境变量信息

    export  HADOOP_HOME=/usr/local/hadoop

    export  PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    C.让环境变量立即生效:

    source  ~/.bashrc

    D.修改Hadoop配置文件。

    D1.修改hadoop-env.sh配置文件:

    sudo gedit  /usr/local/hadoop/etc/hadoop/hadoop-env.sh

    注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)

    代码如下:

    export  JAVA_HOME=/usr/lib/jvm/jdk1.8.0_231

    注意: hadoop-env.sh文件和yarn-env.sh文件用来控制hadoop的bin目录中的脚本

    注意: 伪分布式Hadoop必须配置hadoop-env.sh、core-site.xml和 hdfs-site.xml三个文件

    D2.编辑core-site.xml:

    用如下命令打开core-site.xml文件, 并添加如下内容到标签之间

    sudo gedit  /usr/local/hadoop/etc/hadoop/core-site.xml  

    注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)

    在/usr/local/hadoop/etc/hadoop/core-site.xml的一对儿configuration标签添加如下内容:

            fs.defaultFS

            hdfs://master:9000

            hadoop.tmp.dir

            file:/usr/local/hadoop/tmp

    D3.编辑hdfs-site.xml文件:

    sudo  gedit  /usr/local/hadoop/etc/hadoop/hdfs-site.xml

    注意:上一行的gedit命令需要在虚拟机中执行(不能在xshell中执行)

    用上边gedit命令打开文件并在configuration中添加如下内容:

    1. <property>
    2. <name>dfs.namenode.name.dirname>
    3. <value>file:/usr/local/hadoop/dfs/namevalue>
    4. property>
    5. <property>
    6. <name>dfs.datanode.data.dirname>
    7. <value>file:/usr/local/hadoop/dfs/datavalue>
    8. property>
    9. <property>
    10. <name>dfs.replicationname>
    11. <value>1value>
    12. property>

    D4.对主节点格式化:

    集群启动前,需要先对主节点进行格式化,生成元数据。  命令如下:

    hdfs  namenode  -format

    格式化完成后的提示如下:

    D5.启动Hadoop服务:

    命令如下:

    start-all.sh

    结果如下:

    注意: 可以像上图,用jps命令查看到6个进程。

    D6.浏览器测试访问:

    1. 通过下边网址访问yarn管理界面

    http://master:8088/cluster

    1. 通过下边地址访问HDFS管理界面:

    http://master:9870/

    D7.测试:

    用运行Hadoop自带的样例程序hadoop-mapreduce-examples-3.1.2.jar:

    代码如下:  

    hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar pi 2 1000

    结果如下:

    完毕!!

    注意: 下边操作不需要进行(如果出了对应的问题再看下边说明策略)

    七、其他问题说明:
    7.1.关闭虚拟机的用户图形化界面:

    A.注意:查看当前虚拟机界面

    cat  /etc/inittab

    # multi-user.target: analogous to runlevel 3     #命令界面

    # graphical.target: analogous to runlevel 5      #图形界面

    B.注意:设置界面

    systemctl  set-default     multi-user.target   #采用命令界面

    systemctl  set-default     graphical.target    #采用图形界面

    7.2.设置网络自动连接:

    1.进入网络脚本文件夹network-scripts

    cd  /etc/sysconfig/network-scripts/

    2.修改网络配置文件:

    sudo  gedit  ifcfg-ens33

    3.将ONBOOT=no  的值改为yes,  参考下图

    4.重启:

    reboot

    7.3.用户 不在 sudoers 文件中

    解决办法:

    1.切换到root用户登录

    2.给sudoers文件设置权限为640

    chmod  640  /etc/sudoers

    3.编辑sudoers文件

    gedit   /etc/sudoers          注意:此命令再虚拟机中执行(不要再xshell中执行)

    将此用户添加到sudoers文件中:

    7.4.centos安装ssh的方法:

    1. 首先安装【openssh-server】;
    2. 然后修改配置文件,并启动ssh的服务;
    3. 接着设置开机自动启动;
    4. 最后设置文件夹【~/.ssh】的访问权限即可。

    1. 安装openssh-server

    yum  install  -y  openssl  openssh-server

    2. 修改配置文件

    配置文件/etc/ssh/sshd_config

    sudo  gedit   /etc/ssh/sshd_config       

    注意:上一行的命令要在虚拟机中执行(不要再xshell中执行,否则不能用记事本软件打开sshd_config配置文件)

    3、启动ssh的服务:

    systemctl  start  sshd.service

    4、设置开机自动启动ssh服务

    systemctl  enable  sshd.service

    5、设置文件夹~/.ssh的访问权限:

    cd  ~

    chmod  700  .ssh

    chmod  600  .ssh/*

    ls  -la   .ssh              查看.ssh文件的权限是否和下边相匹配

    注意: authorized_keys文件存储的是客户端的公共密钥。

  • 相关阅读:
    uniapp快速入门系列(4)- 微信小程序开发
    数仓工具—Hive语法之join 扩展(23)
    FTP服务配置和使用
    手写vue路由
    【Mac】VSCode 更新1.73版本后JS&TS代码跳转异常
    电子行业ERP解决方案
    车联网安全入门——ICSim模拟器使用
    实现 表格 隔行变色 案例
    pandas教程:Combining and Merging Datasets 合并数据集
    为什么HashMap不使用B、B+树
  • 原文地址:https://blog.csdn.net/gulanga5/article/details/132779917