最近几天在忙参加一个云计算比赛,之前也在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--jre openjdk--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程序的步骤

  

Hadoop2.6.0在Ubuntu Kylin14.04上的配置的更多相关文章

  1. 如何在Ubuntu 16.04上安装配置Redis

    如何在Ubuntu 16.04上安装配置Redis Redis是一个内存中的键值存储,以其灵活性,性能和广泛的语言支持而闻名.在本指南中,我们将演示如何在Ubuntu 16.04服务器上安装和配置Re ...

  2. Ubuntu 16.04上thunderbird配置163邮箱出现“配置无法被验证-请查看用户名或密码是否正确?”

    在Ubuntu 16.04 上用thunderbird配置163免费邮箱时出现的提示信息如图1: 图1 提示信息 网上有不少方法都说是将接收和发出的主机名分别改为 imap.ym.163.com 和 ...

  3. Hadoop 3.1.0 在 Ubuntu 16.04 上的安装过程

    安装过程主要参考官方文档: http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster. ...

  4. Hadoop 3.1.0 在 Ubuntu 16.04 上安装时遇到的问题

    1.Hadoop 安装 pdsh localhost: Connection refused Hadoop安装过程中使用 $ sbin/start-dfs.sh 启动节点时,发生错误提示: pdsh@ ...

  5. 在Ubuntu Server14.04上编译Android6.0源码

    此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...

  6. Ubuntu 12.04上安装Hadoop并运行

    Ubuntu 12.04上安装Hadoop并运行 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 在官网上下载好四个文件 在Ubuntu的/home/w ...

  7. [转] 如何在 Ubuntu 14.04 上通过 apt-get 安装 Apache Tomcat 7

    PS:war 部署路径:/var/lib/tomcat7/webapps http://www.linfuyan.com/how-to-install-apache-tomcat7-on-ubuntu ...

  8. Ubuntu 14.04 上使用 Nginx 部署 Laravel

    本教程将会涉及以下工具: Ubuntu 14.04 LTS PHP 5.5 MySQL Laravel 5.0 Nginx 参考文章:Ubuntu 14.04 上使用 Nginx 部署 Laravel ...

  9. 如何在Ubuntu 18.04上安装Pip

    一.简介: Pip是一个软件包管理系统,它简化了用Python编写的软件包(如Python包索引(PyPI)中的软件包)的安装和管理. 在Ubuntu 18.04上缺省没有安装Pip,但安装非常简单. ...

随机推荐

  1. npm的镜像替换成淘宝

    1.得到原本的镜像地址 npm get registry > https://registry.npmjs.org/ 设成淘宝的 npm config set registry http://r ...

  2. angular的post提交

    用下来明显感觉jquery的post提交比ng的post提交好用很多 一开始,用angularjs的$http提交的数据,在php服务器端无法通过 因为jQuery会把作为JSON对象的data序列化 ...

  3. 【转】jQuery教程

    “jQuery风暴” 推荐及配套代码下载 ziqiu.zhang 2011-03-24 00:28 阅读:15339 评论:100   从零开始学习jQuery(剧场版) 你必须知道的javascri ...

  4. vs2008 下编译jrtplib-3.9.0成功

    jrtplib-3.9.0的编译,终于搞通了.网上搜集了很多资料,自己也调试了很久. 首先,jrtplib-3.9.0是什么不用多说吧,它是一个很牛的老外用C++写的一个开源的RTP协议库,用它可以进 ...

  5. Codeforces Round #287 D.The Maths Lecture

    The Maths Lecture 题意:求存在后缀Si mod k =0,的n位数的数目.(n <=1000,k<=100); 用f[i][j]代表 长为i位,模k等于j的数的个数. 可 ...

  6. Python下调用json.dumps中文显示问题解决办法

    json.dumps在默认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符,例如: import json js = json.loads('{"haha": & ...

  7. CSS响应式web设计

    参考 1. 响应式web设计之CSS3 Media Queries http://www.cnblogs.com/mofish/archive/2012/05/23/2515218.html 2. 用 ...

  8. ComponentOne的C1Chart做饼状图怎么显示其百分比

    问题:ComponentOne的C1Chart做饼状图怎么显示每部分的百分比 描述: 我用C1Chart做饼状图的时候,不知道怎么显示其百分比在对应的区域上,求解. 目前做的效果(附加代码所生成的饼状 ...

  9. Spring Framework Reference,Documentation,spring英文文档.pdf 官方文档

    直接上链接:http://files.cnblogs.com/files/kongkaikai/spring-framework-reference.pdf 官网链接:http://docs.spri ...

  10. Winform  隐藏程序窗口

    internal class HideOnStartupApplicationContext : ApplicationContext { private Form mainFormInternal; ...