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 useradd hadoop

  设置密码

   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程序的步骤

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。