by 三江小渡

主要写了JDK配置和hadoop的安装配置。windows下安装也类似,只是需要一个windows模拟linux环境的软件Cygwin。不过在windows下安装JDK很方便了,就不用参照linux安装JDK的步骤了。
Linux安装JDK步骤:
1. 先从网上下载jdk1.7或者1.6,去SUN的官方网站,尽量装1.6的版本。下载后安装:
给所有用户添加可执行的权限

#chmod +x jdk-1_5_0_02-linux-i586.rpm.bin
#./jdk-1_5_0_02-linux-i586.rpm.bin

一般这样就会安装好,会自动执行rpm安装,如果没有安装请自行rpm安装rpm后缀的jdk安装程序:
此时会生成文件jdk-1_5_0_02-linux-i586.rpm,同样给所有用户添加可执行的权限

#rpm -ivh jdk-1_5_0_02-linux-i586.rpm

出现安装协议等,按接受即可。

Linux安装JDK步骤2.设置环境变量。
#vim /etc/profile

在最后面加入

#set java environment
JAVA_HOME=/usr/java/jdk-1_5_0_02
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

保存退出。

Linux安装JDK步骤3.在终端使用echo命令检查环境变量设置情况和检查JDK是否安装成功。
sourece /etc/profile
#echo $JAVA_HOME
#echo $CLASSPATH
#echo $PATH
#java -version
如果看到JVM版本及相关信息,即安装成功!

然后就是安装hadoop了,先去官网下载个stable版本0.20.2,希望你下载这个hadoop-0.20.2.tar.gz。然后上传到你的服务器解压缩这个tar包:
#tar -zxvf hadoop-0.20.2.tar.gz
希望你这个包是安装在自己的当前用户目录,而且需要你当前用户不是root,否则会遇到不识别参数-jvm 或者heap溢出什么什么的各种问题,严格按步骤来做。

然后修改hadoop目录里conf目录下的hadoop-env.sh里:

# The java implementation to use. Required.
export JAVA_HOME=/usr/java/jdk1.6.0_31

这个路径根据实际情况自行修改。

然后你可以进行单机版的测试了,看看是否安装成功:

$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output ‘dfs[a-z.]+’
$ cat output/*

注意这个执行目录默认的是hadoop的根目录,你会发现有hadoop-*-examples.jar这个一个文件的目录。没有错误提示就是安装成功了。

下边进行单机伪分布模式的安装:
需要你先测试#ssh localhost 是否需要密码,如果需要密码需要进行免密码的操作,因为每次输入密码会比较烦,尤其是将来布置集群的时候更烦。没有ssh,ubuntu系统就sudo apt-get install ssh 安装一下。

$ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

然后再执行ssh localhost 看是否需要密码,不需要就是成功了。这个地方的localhost需要你的服务器配置有hosts文件,如果没有自行配置:vim /etc/hosts ,里边添加一句 127.0.0.1 localhost 即可。
有可能你需要重启ssh服务:service sshd restart,这个命令需要root权限,如果提示没有这个命令,需要你自行到/etc/rc.d/init.d 里边找到sshd ,然后执行 ./sshd restart 即可。如果你还是ssh链接需要密码,你需要查看ssh的配置/etc/ssh/sshd_config,将这两项设置如下:RSAAuthentication yes 和 PubkeyAuthentication yes,一般默认的就是yes,改好设置再次尝试。这里有一个前提,用ssh链接目标服务器的时候默认的用户名就是当前登录的用户名,所以这是hadoop搭建集群一直强调的需要所有机器的用户名一致。另外确保.ssh文件权限700,authorized_keys文件权限600。

然后配置hadoop/conf下的3个文件:

conf/core-site.xml:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

conf/hdfs-site.xml:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

conf/mapred-site.xml:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

在0.20.2之前的版本没有这三个文件,只有一个hadoop-site.xml文件。有些教程比较老,请注意一下。这里建议以上localhost全部填写成本机IP,方便以后真正hadoop集群搭建。

然后格式化一下hdfs:
$ bin/hadoop namenode -format

再配置一下/etc/profile文件,添加hadoop的环境变量:

#set hadoop environment
HADOOP_HOME=/usr/hadoop-0.20.2
PATH=$HADOOP_HOME/bin:$PATH
CLASSPATH=$CLASSPATH:$HADOOP_HOME:$HADOOP_HOME/lib
export HADOOP_HOME PATH CLASSPATH

同样我们需要source /etc/profile 一下。

再然后就能启动守护进程了:
$ bin/start-all.sh

输入命令看所有守护进程是否启动成功:

# jps
30660 SecondaryNameNode
31402 Jps
30554 DataNode
30842 TaskTracker
30733 JobTracker

这样的结果就成了。可以执行一些样例命令了:
$ hadoop jar hadoop-*-examples.jar grep input output ‘dfs[a-z.]+’
你也可以看看 hadoop-*-examples.jar 里边的其他命令,查看方法直接hadoop jar hadoop-*-examples.jar 就行了。

最后检查输出文件:
Copy the output files from the distributed filesystem to the local filesytem and examine them:

$ bin/hadoop fs -get output output
$ cat output/*

or View the output files on the distributed filesystem:
$ bin/hadoop fs -cat output/*

停止所有守护进程:
$ stop-all.sh

这是伪分布的配置,已经适合学习、开发和调试程序了。还有真正的分布式架构,需要另外配置几个文件。这里先大致介绍一下三种模式的配置对比:

组件名称 属性名称 独立模式 伪分布模式 全分布模式
Common fs.default.name file:///(默认) hdfs://localhost hdfs://namenode
HDFS dfs.replication N/A 1 3
MepReduce mapred.job.tracket local(默认) localhost:9000 jobtracker:9000

全分布式集群构建在另外一篇读书笔记第九章在进行详细介绍。

下边进行hadoop下执行一个java程序的例子(类似hello world的样例程序):
(1)先在本地磁盘建立两个输入文件file01 和file02:

$ echo “Hello World Bye World” > file01
$ echo “Hello Hadoop Goodbye Hadoop” > file02

(2)在hdfs 中建立一个input 目录:$ hadoop fs –mkdir input
(3)将file01 和file02 拷贝到hdfs 中:

$ hadoop fs –copyFromLocal ~/file0* input

(4)执行wordcount:(这里注意 hadoop-0.20.1-examples.jar的路径正确,这个文件在hadoop根目录里)

$ hadoop jar hadoop-0.20.1-examples.jar wordcount input output

(5)完成之后,查看结果:

$ hadoop fs -cat output/part-r-00000

结果为:

Bye 1
Goodbye 1
Hadoop 2
Hello 2
World 2

你可以输入hadoop fs 查看 fs下的所有命令,方便使用期间可以用alias起别名,具体见另外一篇的中间部分。至此hadoop的hello world完成,开始hadoop之旅吧。建议从《hadoop权威指南》这本书开始。

你也可以编写自己的hello,world! 你可能会用到这个classpath路径,只是可能用到,如果编译的时候提示你class找不到的时候:

$ javac -classpath /usr/hadoop-0.20.2/hadoop-0.20.2-core.jar:/usr/hadoop-0.20.2/lib/commons-cli-1.2.jar -d *outputpath* *javapath*
$ jar -cvf *output.jar* *target.class*

第一个命令-classpath参数指定了加载的包的路径。第二个命令用来打包成jar包。然后就可以像执行样例jar包那样在hadoop框架下执行自己的程序了。这里边对不熟java的童鞋给点说明:
你的helloworld程序应该类似这样:

View Code JAVA
import org.apache.hadoop.io.*;
public class helloworld{public static void main(String[] args){System.out.println("hello world!");}
}

你执行hadoop jar ***.jar 可能需要你指出入口的类,你填写你main函数所在的类名即可。另外注意这个类前边必须加public关键字,不然会提示你入口不合法什么的之类的提示。最后你需要注意的是这个公共类的名字必须给你的**.java文件名字相同,这样才能执行javac命令进行编译。

搭建好自己的hadoop,如果你还不知道如何开始,建议先去学习一下streaming这篇吧。

开启hadoop之旅的大门–安装配置篇相关推荐

  1. 一步步教你Hadoop多节点集群安装配置

    一步步教你Hadoop多节点集群安装配置 1.集群部署介绍 1.1 Hadoop简介  Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统HDFS(Hado ...

  2. 文件服务器安装配置说明手册,FreeBSD全能服务器安装手册之文件服务器篇之A安装配置篇...

    FreeBSD全能服务器安装手册FTP篇之A安装配置篇 cd /usr/ports/ftp/pure-ftpd make WITH_WELCOMESG=yes WITH_UPLOADSCRIPT=ye ...

  3. Hadoop在Ubuntu下的安装配置(配置成功)

    前面均在windows下进行,但是在安装hadoop过程中出了一些问题,先暂时切换到linux下,回头再补充windows下的安装.不过通过对比确实发现,在linux下的安装配置确实比较简单. 一.安 ...

  4. Hadoop、Slurm平台详细安装配置步骤

    大数据Hadoop.Slurm平台 安 装 配 置 手 册 河北科技大学理学院 王子元 2018年6月 绪论 本人本科毕业设计选的是<数学系大数据环境建设>课题,实验集群采用四台惠普工作站 ...

  5. 高性能HTTP加速器Varnish(安装配置篇)

    一.安装Varnish Varnish的安装非常简单,下面逐步介绍: 1.安装前的准备  Varnish安装环境如下表1所示: 表1 主机名              操作系统             ...

  6. 【小白】SQLyog下载安装配置篇全攻略

    我是第一次使用 SQLyog 这款对于MySQL数据库的可视化图形管理工具,本篇是我对于SQLyog安装配置的过程和总结,仅供大家参考.     如下: 了解SQLyog: SQLyog 是一个快速而 ...

  7. SVN+FTP服务器搭建——SVN安装配置篇

    Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像一个普通的文件服务器,不同的是,它 ...

  8. 开启Hadoop/Yarn的日志监控功能,配置Spark历史服务,解决web端查看日志时的Java.lang.Exception:Unknown container问题

    解放方法 下来查询官方文档后,才了解到yarn的日志监控功能默认是处于关闭状态的,需要我们进行开启,开启步骤如下: Ps:下面配置的文件的位置在hadoop根目录 etc/haddop文件夹下,比较老 ...

  9. hadoop 在 Linux下的安装配置与集群配置(3台机)

    注:本文的主要目的是为了记录自己的学习过程,方便与大家做交流.转载请注明出处 http://blog.csdn.net/kokjuis/article/details/59523427 最近在搭建文件 ...

最新文章

  1. 有关Spring 3.0的发布
  2. 智能家居市场的魔方法则深度剖析
  3. 什么是物联网的边缘计算?
  4. 数据结构 - 从二叉搜索树说到AVL树(一)之二叉搜索树的操作与详解(Java)
  5. 微信小程序将页面按钮悬浮固定在底部
  6. why SAP CRM My Opportunity Master page must be renamed as S2
  7. 万用表检测常用元器件的方法
  8. oracle表空间暴涨,Oracle 11g SYSTEM表空间暴增问题
  9. Spring扩展之BeanPostProcessor接口
  10. 新浪新闻动态网页爬取+热点词云分析
  11. 面试宝典之深度学习面试题(下)
  12. 通过Jsoup 和 htmlunit 爬取全国行政区划信息查询平台的省市区区划数据
  13. windows 快捷键关闭屏幕
  14. 数据库表及其字段变量命名神器之codeIf
  15. cmd中文输入和显示问题
  16. MySQL 8 忽略表名大小写
  17. Nowcoder. 链表的回文结构
  18. Macbook 上onenote无法在本地新建笔记本
  19. 保健中药不贵胜过市面上的保健品
  20. 智能产品工厂测试软件,人工智能如何帮助工厂做质量检测

热门文章

  1. Java中AudioFileStream_iOS音频学习一之AudioFileStream
  2. 《Flutter技术入门与实践》——[中]亢少军
  3. 小米蒸排骨+炒红萝卜丝+苦瓜炒蛋
  4. 手机传感器的意义:未来生活将被彻底改变
  5. JAVA环境变量j配置avac命令不识别不成功注意事项详细
  6. PHP7安装redis扩展 Star.Hou
  7. 从3元/条的个人信息买卖看企业数据安全建设
  8. 不要黄泛区及东北人?地域歧视谁之责
  9. 一款发动机爆震检测分析仪解决方案:英国 phormula 爆震检测分析仪+PICO
  10. SpringBoot集成alipay-easysdk