IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页数据库Oracle → ubuntu下hadoop的部署

ubuntu下hadoop的部署

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  关于linux下hadoop的部署网上有很多教程,但是同一教程对于不同的机器可能效果迥异,而很多和我一样都新手都不愿意去follow官方的英文部署。因此在这里记下我部署hadoop的过程,兼听则明,希望对大家有所帮助。

  ****************************************************

  实践环境:

  1.用户名:sa,环境:UBUNTU10.04,IP:192.168.0.102,作用:namenode,master,jobtracker

  2.用户名:sa,环境:UBUNTU9.10,IP:192.168.0.103,作用:datanode,slave,tasktracker

  两台电脑的用户名务必保持一样,否则后面调试时不能成功。

  ****************************************************

  主要步骤:

  1.修改主机名。

  2.安装SSH,实现SSH无密码登陆。

  3.关闭防火墙

  4.安装jdk,Hadoop

  5.配置hadoop

  ****************************************************

  1.修改主机名:

  在/etc/hosts文件里面修改:

  sa@sa:~$ cd ..

  sa@sa:/home$ cd ..

  sa@sa:/$ cd etc/

  sa@sa:/etc$ sudo gedit hosts

  [sudo] password for sa:

  输入密码后,将hosts文件改为:

  127.0.0.1 localhost.localdomain    localhost

  192.168.0.102 sa

  192.168.0.103 ubuntu

  ::1     localhost ip6-localhost ip6-loopback

  fe00::0 ip6-localnet

  ff00::0 ip6-mcastprefix

  ff02::1 ip6-allnodes

  ff02::2 ip6-allrouters

  ff02::3 ip6-allhosts

  (此处#可能会无法辨识,去掉那一行)

  /*

  所有机器都改完,对应好之后,可是ping一下,看看是否成功:

  PING ubuntu (192.168.0.103) 56(84) bytes of data.

  64 bytes from ubuntu (192.168.0.103): icmp_seq=1 ttl=64 time=0.393 ms

  64 bytes from ubuntu (192.168.0.103): icmp_seq=2 ttl=64 time=0.374 ms

  64 bytes from ubuntu (192.168.0.103): icmp_seq=3 ttl=64 time=0.373 ms

  ^C

  --- ubuntu ping statistics ---

  3 packets transmitted, 3 received, 0% packet loss, time 1998ms

  rtt min/avg/max/mdev = 0.373/0.380/0.393/0.009 ms

  */

  ****************************************************

  2.安装SSH,实现SSH无密码登陆

  2.1 安装SSH:sudo apt-get install openssh-server

  2.2 实现SSH无密码登录:

  此处参考这个文档:linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml">https://linux.chinaunix.net/techdoc/net/2007/08/08/964784.shtml

  非常详尽。摘录如下:

  *************************

  服务器之间建立信任关系,对于监控服务器管理很必要。这里介绍ssh的无密码登陆。

  本机ip:192.168.1.6

  [root@codfei ~]# ssh-keygen -t rsa

  Generating public/private rsa key pair.

  Enter file in which to save the key (/root/.ssh/id_rsa):

  /root/.ssh/id_rsa already exists.

  Overwrite (y/n)? y (以为我是第2次建立关系所以此处覆盖原来的文件)

  Enter passphrase (empty for no passphrase):(直接回车无须输入密钥)

  Enter same passphrase again:

  Your identification has been saved in /root/.ssh/id_rsa.

  Your public key has been saved in /root/.ssh/id_rsa.pub.

  The key fingerprint is:

  04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei

  [root@codfei ~]# cd .ssh/

  [root@codfei .ssh]# ll

  -rw-------  1 root root 883 Apr 25 17:51 id_rsa

  -rw-r--r--  1 root root 221 Apr 25 17:51 id_rsa.pub

  -rw-r--r--  1 root root 442 Apr 25 17:37 known_hosts

  id_rsa是密钥文件,id_rsa.pub是公钥文件。

  [root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6

  root@192.168.1.4's password:

  id_rsa.pub      100%  221     0.2KB/s   00:00

  这里把公钥文件取名为本机的ip地址就是为了以后和更多的机器建立信任关系不发生混淆。

  现在登陆到192.168.1.4机器

  [root@codfei ~]# cd .ssh/

  [root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys

  然后回到192.168.1.6机器直接

  [root@codfei .ssh]# ssh 192.168.1.4

  Last login: Wed Aug  8 12:14:42 2007 from 192.168.1.6

  这样就可以了,里面偶尔涉及到权限问题。一般./ssh文件夹是755 authorized_keys为600或者644

  ****************************************************

  3.关闭防火墙

  sa@sa:~$ sudo ufw disable

  防火墙在系统启动时自动禁用

  ****************************************************

#p#副标题#e#

  4安装JDK,hadoop

  分别到官网下载tar.gz文件,解压缩至sa文件夹下。两台机子文件目录保持一样,以免不必要都麻烦。我都机器分别下载的是jdk.1.6.0_21和hadoop-0.20.2。

  之后将下列语句添加至etc/profile文件中:

  export java_HOME=/home/sa/jdk1.6.0_21

  export jre_HOME=/home/sa/jdk1.6.0_21/jre

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

  export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

  export HADOOP_HOME=/home/sa/hadoop-0.20.2

  export PATH=$HADOOP_HOME/bin:$PATH

  /*

  改完之后进行测试,参考https://blog.csdn.net/wh62592855/archive/2010/07/14/5733130.aspx

  1.java -version查看版本号。

  sa@sa:/etc$ java -version

  java version "1.6.0_21"

  Java(TM) SE Runtime Environment (build 1.6.0_21-b06)

  Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)

  2.运行java程序

  在/home/sa下建立一个hello.java都文件,输入以下内容:

  public class hello

  {

  public static void main(String args [ ])

  {

  System.out.println("Hello World!");

  System.out.println("看到这些代表安装成功啦!");

  System.out.println("2005/9/5");

  }

  }

  3.编译:javac hello.java

  4.执行:java hello

  sa@sa:~$ javac hello.java

  sa@sa:~$ java hello

  Hello World! 看到这些代表安装成功啦!

  2005/9/5

  ****************************************************

  5.配置hadoop

  此处参考www.hadoopor.com网站制作的《Hadoop 开发者入门专刊》

  以下是我针对自己都机器做的工作:

  ***************************

  hadoop 的主要配置都在 hadoop-0.20.2/conf 下。

  (1)在 conf/hadoop-env.sh 中配置 Java 环境(namenode 与 datanode 的都做):

  $ gedit hadoop-env.sh

  $ export JAVA_HOME=/home/sa/jdk1.6.0_21

  (2)配置 conf/masters 和 conf/slaves 文件:

  masters: sa(只在 namenode 上配置)

  slaves:(namenode 与 datanode 的都做)

  ubuntu

  (3)配置 conf/core-site.xml, conf/hdfs-site.xml 及 conf/mapred-site.xml(以下内容namenode 与 datanode 都做)

  core-site.xml:

  *******************

  <configuration>

  <!--- global properties -->

  <property>

  <name>hadoop.tmp.dir</name>

  <value>/home/sa/tmp</value>

  <description>A base for other temporary directories.</description>

  </property>

  <!-- file system properties -

关键词标签:ubuntu,hadoop

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制Oracle对user的访问控制

相关下载

人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限