• Hadoop2.6.0在Ubuntu Kylin14.04上的配置


        最近几天在忙参加一个云计算比赛,之前也在Ubuntu上配成功过hadoop,不过是按照书上讲的,一步一步来的。因此,印象不深,对自己的帮助也不大。这次趁着机会,自己练了两遍配置过程,感觉收获比较丰富,就写一篇文章小结一下。

        首先要把给我很多指导的一个网址贴出来:厦门大学数据库实验室博客 http://dblab.xmu.edu.cn/blog/。作为一个数据库实验室,能有精力和热情做好这么一个网站,真的很崇拜他们。另外,写着篇文章的另一个目的是网上不同版本的ubuntu配置Hadoop文章实在太多,不同的人有不同的方法,不同的版本配置方法也都有差异,因此之前也因为这个走了不少弯路,失败了好多次。写下这个,就是我真的,,,把系统配好了,可以作为经验被别人使用。

    环境:

      系统:Ubuntu Kylin 14.04LTS版本(不得不说,相比原始的系统,这个中国定制版麒麟实在是好看和好用多了)

           Hadoop 2.6.0

         jdk1.8.0_25

    步骤:

      1. 创建Hadoop用户

      创建用户

      sudo adduser -m hadoop -s /bin/bash

      设置密码

       sudo passwd hadoop

      为hadoop用户创建目录

    cd /home
    sudo mkdir hadoop
    sudo chown hadoop /home/hadoop

      为hadoop用户授予管理员权限,这样方便以后的操作

    sudo adduser hadoop sudo

      注销当前用户,登录hadoop用户

      2. 安装SSH

       SSH(Secure Shell)是目前比较可靠的为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

      安装SSH server

       sudo apt-get install openssh-server

      设置SSH无密码登陆

    ssh localhost

      有如下提示(SSH首次登陆提示),输入yes

         

      配置成无密码登陆:

        先输入 exit 退出ssh,然后执行如下命令

    cd ./.ssh                      # 如果没有该目录,先执行一次ssh localhost
    ssh-keygen -t rsa              # 一直按回车就可以,生成的密钥保存为.ssh/id_rsa
    cp id_rsa.pub authorized_keys

        再用ssh localhost命令,就可以直接登陆了

      3. 配置jdk

      首先介绍厦大数据库实验室博客介绍的方法:

    sudo apt-get install openjdk-7-jre openjdk-7-jdk

    这种方法可以直接在终端安装好jdk,不过在尝试之后报错,,,由于水平不高,没有找到错在哪里。

      第二种方法是我是用的。首先在Oracle官网上下载jdk安装包,我下载的是jdk-8u25-linux-x64.tar.gz 解压之后是jdk1.8.0_25文件夹,存在主文件夹中。

      然后将该文件夹拷贝到/usr/lib/jvm

    sudo cp -r ~/jdk1.8.0_25  /usr/lib/jvm
    

      然后更名为java-8u5-sun

    sudo mv /usr/lib/jvm/jdk1.8.0_25 /usr/lib/jvm/java-8u5-sun
    

      之后配置环境变量

        sudo gedit ~/.bashrc
    

      在文件的末尾加上

        export JAVA_HOME=/usr/lib/jvm/java-8u5-sun   

        export JRE_HOME=${JAVA_HOME}/jre   

        export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib   

        export PATH=${JAVA_HOME}/bin:$PATH 

      其中,JAVA_HOME存放的是java安装的路径。

      然后,使上述配置生效

         source ~/.bashrc
    

      这时,jdk的配置工作基本结束,可以在终端输入java来验证,若终端输出java命令的后缀解释,则表明安装成功

      4. 安装Hadoop

      首先到Apache官网下载Hadoop,我下载的是Hadoop2.6.0  压缩包名称:hadoop-2.6.0.tar.gz   解压缩后为hadoop-2.6.0

      将文件夹拷贝到/usr/local/hadoop中

    sudo mv ~/hadoop-2.6.0/ /usr/local/hadoop        # 将文件名改为hadoop
    sudo chown -R hadoop:hadoop /usr/local/hadoop            # 修改文件权限
    

      修改环境变量信息JAVA_HOME

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

      将 export JAVA_HOME=${JAVA_HOME} 改为

    export JAVA_HOME="/usr/lib/jvm/java-8u5-sun" 
    

      输入如下命令Hadoop检查是否可用,成功则会显示命令行的用法

    bin/hadoop
    

      5. Hadoop伪分布设置

      修改配置文件etc/hadoop/core-site.xml,将

    <configuration>
    </configuration>
    

      改为:

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

      修改配置文件etc/hadoop/hdfs-site.xml

    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:/usr/local/hadoop/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:/usr/local/hadoop/dfs/data</value>
        </property>
    </configuration>
    

      配置完成后,首先在 Hadoop 目录下创建所需的临时目录:

    cd /usr/local/hadoop
    mkdir tmp dfs dfs/name dfs/data
    

      初始化文件系统HDFS

    bin/hdfs namenode -format
    

      开启NameNode等进程

    sbin/start-dfs.sh
    

      输入jps,以检查各个节点是否就绪。若此时DataNode等节点没有开启,则重新初始化,重新start

      到此为之,Hadoop的配置工作完成。

      下一篇介绍在Ubuntu环境中编译和运行Hadoop程序的步骤

      

  • 相关阅读:
    c# 执行windows模拟登录
    c#文件压缩解压
    c#文件上传下载功能实现
    .NET core3.1 使用Jwt保护api
    我所理解的闭包
    数组遍历for forEach for..in for..of
    变量提升
    微信小程序做radio,可以拖动进度条
    css:flex
    css常用布局
  • 原文地址:https://www.cnblogs.com/kingatnuaa/p/4151824.html
Copyright © 2020-2023  润新知