最近几天在忙参加一个云计算比赛,之前也在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. poj 1273.PIG (最大流)

    网络流 关键是建图,思路在代码里 /* 最大流SAP 邻接表 思路:基本源于FF方法,给每个顶点设定层次标号,和允许弧. 优化: 1.当前弧优化(重要). 1.每找到以条增广路回退到断点(常数优化). ...

  2. html 标签的嵌套规则

    1. 块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素: <div><h1></h1><p></p> ...

  3. date日期比较和格式化方法

    时间的比较 var now = new Date();//现在时间 var setDate = new Date(2017,0,5,17,55,55);//设定的时间 laert(now < s ...

  4. SQL服务器名称的更改

    SQL服务器名称的更改   1.使用select @@ServerName可以看到当前数据库的服务器名称 2.从Sys.SysServers表中可以看到当前的所有服务器名称 3.使用 sp_drops ...

  5. call 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法.

    call 方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法. 注意:该函数的语法与 apply() 方法的语法几乎完全相同,唯一的区别在于,apply()方法接受的是一个参 ...

  6. thinkphp 总结 转

    用ThinkPHP做过几个项目后,感觉这个框架蛮不错的,很适合自己的逻辑习惯,开发起来也快捷,呵呵, 总结了一些项目中常用的东东,希望对初学TP的朋友有所帮助!  1. 模板中不能使用的标签 {$co ...

  7. 快速傅里叶变换(FFT)

    一.FFT的意义 DFT虽然实现了FT的计算机计算,但是计算量大,不适合实时的数字信号处理.FFT算法的出现,使DFT的计算效率更高,速度更快. 二.FFT与DFT的关系 从FT到DFT经过了数字角频 ...

  8. SQL语句操作大全

    SQL语句操作大全   本文分为以下六个部分: 基础部分 提升部分 技巧部分 数据开发–经典部分 SQL Server基本函数部分 常识部分 一.基础 1.说明:创建数据库CREATE DATABAS ...

  9. 关于sql server 代理(已禁用代理xp)

    由于有数据库在恢复,导致计划不能执行,先操作如下: 关闭数据库的服务..然后把数据库文件剪切出来.然后在起服务.进入SqlSever删除数据库.因为文件已经剪切走了.所以不会删除文件.再把数据库拷到M ...

  10. linker command failed with exit code 1

    这种问题,通常出现在添加第三方库文件或者多人开发时. 这种问题一般是找不到文件而导致的链接错误. 我们可以从如下几个方面着手排查. 1.以如下错误为例,如果是多人开发,你同步完成后发现出现如下的错误. ...