zoukankan      html  css  js  c++  java
  • Ubuntu16.04 搭建伪分布式Hadoop环境

    0x00 java环境配置

    Hadoop需要java环境,首先检测是否存在java环境:

    java –version

    如果没有,则需要去Oracle官网下载jdk:

    https://www.oracle.com/cn/java/technologies/javase-jdk8-downloads.html

    选择linux x64:

     下载后解压到/opt目录下:

    tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt

    然后添加环境变量:

    修改配置文件/etc/profile,追加以下内容:

    export JAVA_HOME="/opt/jdk1.8.0_181"
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

    这里第一行的路径要根据jdk安装的不同位置而改变

    然后重启,再次测试:

     可以看到已经配置好java环境了

    0x01 设置ssh免密登录

    启动ssh:

    sudo /etc/init.d/ssh start

    设置免密码登录:

    ssh-keygen -t rsa

    一直回车即可

    导入authorized_keys

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    检测是否可以免密登录:

    0x02 创建新用户

    创建一个名字为hadoop的普通用户(虽然我也不明白为啥非得创建一个新用户....)

    sudo adduser hadoop
    

    这里一开始用的useradd,但是创建了之后进不去.....用adduser就好了

    给hadoop用户sudo权限 /etc/sudoers里面修改:

    root    ALL=(ALL)       ALL
    hadoop ALL=(root) NOPASSWD:ALL

    切换到hadoop用户

    su - hadoop

    创建存放hadoop文件的目录:

    sudo mkdir /opt/modules

    将hadoop文件夹的所有者指定为hadoop用户:

    sudo chown -R hadoop:hadoop /opt/modules

    0x03 配置hadoop

    下载hadoop压缩包:

    https://downloads.apache.org/hadoop/common/hadoop-2.10.0/

    选择:

     把它复制到/opt/modules目录下。

     解压:

    tar -zxvf hadoop-2.10.0.tar.gz

    配置环境变量,在etc/profile文件里追加如下内容:

    export HADOOP_HOME="/opt/modules/hadoop-2.10.0"
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    重启使得配置生效。

    验证HADOOP_HOME参数:

     配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数:

    sudo gedit  ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh

    修改JAVA_HOME参数为:

    export JAVA_HOME="/opt/jdk1.8.0_181"

    配置core-site.xml,在/opt/modules/hadoop-2.10.0/etc/hadoop文件夹中找到core-site.xml文件,插入如下内容:

    <configuration>
            <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/opt/modules/hadoop-2.10.0/tmp</value>
                 <description>Abase for other temporary directories.</description>
            </property>
            <property>
                 <name>fs.defaultFS</name>
                 <value>hdfs://localhost:9000</value>
            </property>
    </configuration>

    修改配置文件 hdfs-site.xml,也是在同一个文件夹下,找到该文件,插入如下内容:

    <configuration>
            <property>
                 <name>dfs.replication</name>
                 <value>1</value>
            </property>
            <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/opt/modules/hadoop-2.10.0/tmp/dfs/name</value>
            </property>
            <property>
                 <name>dfs.datanode.data.dir</name>
                 <value>file:/opt/modules/hadoop-2.10.0/tmp/dfs/data</value>
            </property>
    
    </configuration>

    配置yarn-site.xml,也是在同一个文件夹下:

    <configuration> 
    <!-- Site specific YARN configuration properties -->
        <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>127.0.0.1:8032</value> 
        </property> 
        <property> 
            <name>yarn.resourcemanager.scheduler.address</name> 
            <value>127.0.0.1:8030</value> 
        </property> 
        <property> 
            <name>yarn.resourcemanager.resource-tracker.address</name> 
            <value>127.0.0.1:8031</value> 
        </property> 
    </configuration>

    重启系统使配置生效

    0x04 验证Hadoop是否配置成功

    hadoop版本:

     启动HDFS,格式化namenode

    hdfs namenode -format

     出现了successfully formatted则代表格式化成功,如果出现了错误,需要仔细检查之前对三个文件的修改,路径有没有错误(需要根据hadoop的安装路径来更改,不能照抄)

    启动hdfs:

    start-all.sh

     这个时候发现出现了错误,提示无法建立连接,这个时候需要找到/etv/ssh/ssh_config
    在最后添加:
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

    再次启动就没有问题了。

    显示进程:

     出现了6个进程,说明正确。

    访问http://localhost:50070/,出现:

     访问http://localhost:8088/:

     说明已经完全搭建好了~~

  • 相关阅读:
    Java中字符串的学习(四)基本数据类型包装类的学习与使用
    Java中字符串的学习(三)StringBuffer与StringBuilder
    Java中字符串的学习(二)String类的小练习
    Java中字符串的学习(一)String类的概述及常见方法使用
    ios开发之解决重用TableViewCell导致的界面错乱的问题
    SpringBoot+Redis形成数据 缓存
    SpringBoot logback slf4j 的理解和使用
    Sring IOC的用途和理解
    SpringBoot AOP 理解和用途
    centos 安装遇到的问题
  • 原文地址:https://www.cnblogs.com/dyhaohaoxuexi/p/12718073.html
Copyright © 2011-2022 走看看