美文网首页
ubuntu16.04搭建hadoop2.x系列

ubuntu16.04搭建hadoop2.x系列

作者: 世间的尘 | 来源:发表于2018-06-01 19:43 被阅读0次

    ubuntu16.04 搭建hadoop2.X系列

    1.软件版本(提供网盘链接)

    1. ubuntu-16.04.2-desktop-amd64.iso
    2. hadoop-2.7.3.tar.gz
    3. jdk-8u144-linux-x64.tar.gz

    2.平台准备

    • 服务器准备 (内存可为1G,2G只为流畅)
      Master:内存2G 1核。
      Slaver:内存2G 1核。

    • IP设置 (IP类比自身服务器)
      Master:192.168.1.10
      Slaver:192.168.1.20

    3.配置过程

    1. 系统安装
      系统正常安装,主机名可分别设置为Master,slaver。并且设置用户名为hadoop 这样可省去创建用户步骤。
      也可系统安装完后期修改。

    2. 创建用户

    #创建用户
    sudo useradd -m hadoop -s /bin/bash
    #设置密码
    sudo passwd hadoop #按提示输入两次密码
    
    #加入root组
    sudo adduser hadoop sudo
    

    3.更新并安装vim

    #Master&Slaver
    sudo apt-get update
    sudo apt-get install vim
    sudo apt-get install openssh-server
    
    1. 配置主机通信
    • 修改主机名
      /etc/hostname 内容为主机名,修改后需重启主机生效,可在系统安装时提前将主机名设置为Master,Slaver
    #Master
    sudo vim /etc/hostname
    Master
    
    #Slaver
    sudo vim /etc/hostname
    Slaver
    
    • 配置主机映射
      /etc/hosts 文件是linux文件的主机映射,配置内容为 IP HOSTNAME
      比如 192.168.1.10 Masterping Master = ping 192.168.1.10.
      配置时将主机字自解析删除掉,127.0.0.1 Master Slaver
    #Master&Slaver
    sudo vim /etc/hosts
    
    192.168.1.10 Master
    192.168.1.20 Slaver
    

    5.配置无密钥访问
    这边需要详细解释一下,首先,我们使用hadoop用户登录,所以我们的家目录为/home/hadoop/
    执行ssh-keygen -t rsa 后, 会在用户的家目录生成两个文件,分别为id_rsa, id_rsa.pub.
    使用 cat命令,将公钥复制到authorized.keys文件内(该文件默认不存在),
    此时 authorized_keys文件内容大致为

    公钥 user@hostname
    公钥为一堆长乱码,user为用户名,我们此时为hadoop. hostname为主机名,即我们的Master Slaver.

    此时authorized_keys文件内容大致为

    公钥  hadoop@Master
    公钥  hadoop@Slaver 
    

    此时,Master Slaver 下分别执行

    #Slaver
    ssh Master
    
    #Master
    ssh Slaver 
    

    即可实现免密钥登录,如果不成功,请删除.ssh/下所有文件,重新执行该步骤。

    #Master
    ssh-keygen -t rsa #根据提示,三次回车即可生成密钥。
    #Slaver
    ssh-keygen -t rsa #根据提示,三次回车即可生成密钥。
    cd /home/hadoop/.ssh/
    cat id_rsa.pub >> authorized_keys
    scp authorized_keys Master:/home/hadoop/.ssh/
    
    #Master
    cd /home/hadoop/.ssh/
    cat id_rsa.pub >> authorized_keys
    scp authorized_keys Slaver:/home/hadoop/.ssh/
    
    1. 配置JDK
      首先,将JDK上传至/home/hadoop/下。
    #Master&Slaver
    sudo tar -zxvf jdk-8u144-linux-x64.tar.gz  -C /usr/local
    
    sudo mv /usr/local/jdk1.8.0_144 /usr/local/jdk
    
    sudo vim /home/hadoop/.bashrc
    
    export JAVA_HOME=/usr/local/jdk
    export PATH=$JAVA_HOME/bin:$PATH #此两行为配置内容,写在.bashrc文件最后,.bashrc为用户配置内容。
    

    此时,配置文件和JDK已经安装修改完毕,进行验证。

    source /home/hadoop/.bashrc
    java -version #以打印出JAVA版本信息为主。
    
    

    7.配置hadoop
    hadoop上传至/home/hadoop目录下,

    #Master
    sudo tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local #将hadoop文件解压缩至/usr/local
    
    cd /usr/local
    
    sudo mv hadoop-2.7.3 hadoop
    
    sudo chown -R hadoop hadoop
    
    

    配置环境变量

    #Master&Slaver (Slaver节点也需要修改环境变量)
    
    sudo vim /home/hadoop/.bashrc
    
    #此三行添加至文件最后
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
    
    #文件生效
    source /home/hadoop/.bashrc
    

    修改配置文件
    文件内容统一在/usr/local/hadoop/etc/hadoop/

    • hadoop.env.sh
    #原语句为 export JAVA_HOME=${JAVA_HOME},修改为如下
    export JAVA_HOME=/usr/local/jdk
    
    • yarn.env.sh
    #原语句为 export JAVA_HOME=/home/y/libexec/jdk1.6.0/ 默认被注释的,在下面添加如下语句。
    export JAVA_HOME=/usr/local/jdk
    
    • slaves
    #文件内容
    Master
    Slaver
    
    
    • core-site.xml
    <configuration>
             <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://Master:9000</value>
            </property>
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>file:/usr/local/hadoop/tmp</value>
            </property>
    </configuration>
    
    
    • hdfs-site.xml
    <configuration>
            <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>Master:50090</value>
            </property>
            <property>
                    <name>dfs.replication</name>
                    <value>1</value>
            </property>
            <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>file:/usr/local/hadoop/tmp/dfs/name</value>
            </property>
            <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>file:/usr/local/hadoop/tmp/dfs/data</value>
            </property>
    </configuration>
    
    • mapred-site.xml

    原文件名为 mapred-site.xml.template

    sudo cp mapred-site.xml.template mapred-site.xml
    

    文件内容为:

    <configuration>
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>Master:10020</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>Master:19888</value>
            </property>
    </configuration>
    
    
    • yarn-site.xml
    <configuration>
            <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>Master</value>
            </property>
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>
    </configuration>
    

    8.配置slaver节点

    #Master
    cd /usr/local
    sudo tar -zcf /home/hadoop/hadoop.master.tar.gz hadoop #压缩/usr/local下的hadoop文件夹
    sudo scp /home/hadoop/hadoop.master.tar.gz Slaver:/home/hadoop/
    
    #Slaver
    cd /home/hadoop
    tar -zxvf hadoop.master.tar.gz -C /usr/local
    #生效环境变量 source /home/hadoop/.bashrc
    
    

    9.启动hadoop

    #Master
    hdfs namenode -format #仅首次运行需要执行初始化,之后不需要启动。
    启动:
    start-all.sh
    关闭:
    stop-all.sh
    

    10.查看

    JPS
    #Master
     jps
     DataNode
     NameNode
     ResourceManager
     SecondrryNameNode
     JobHistoryServer
    #Slaver
     DataNode
     NameNode
    

    相关文章

      网友评论

          本文标题:ubuntu16.04搭建hadoop2.x系列

          本文链接:https://www.haomeiwen.com/subject/gmgksftx.html