Hadoop 安装

1、java安装与配置

配置环境变量

   1)执行 cd /etc, 进入/etc 目录下。 

   2)执行 vi profile, 修改profile文件

      在里面加入以下四行

  1. #set java environment    
  2. export JAVA_HOME=/usr/program/jdk1.6.0_06  
  3. export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH   
  4. export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  

  3)执行 chmod +x profile ,把profile变成可执行文件 

  4)执行 source profile,把profile里的内容执行生效 

  5)执行,java、javac、java -version 查看是否安装成功.

2、ssh无密码验证配置

   在linux命令行里输入:ssh-keygen  -t  rsa,然后一路回车。

     root@zhy:~$ ssh-keygen -t rsa

     Generating public/private rsa key pair. 

     Enter file in which to save the key (/home/zhangtao/.ssh/id_rsa): //密钥保存位置,直接回车保持默认;

     Created directory '/home/zhangtao/.ssh'.

     Enter passphrase (empty for no passphrase): //设置密钥的密码,空密码直接回车即可;

     Enter same passphrase again: //确认上一步设置的密码。 

     然后进入 /root/.ssh/下面,会看到两个文件 id_rsa.pub,id_rsa,

    然后执行 cp id_rsa.pub  authorized_keys

     然后 ssh localhost 验证是否成功,第一次要你输入yes,以后就不需要了。

    如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
   $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  
   $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

3、安装hadoop

   在官网下载最新稳定版本的hadoop,解压出来后进入conf目录里面,修改hadoop-env.sh文件,加入如下一行

  1. export JAVA_HOME=/usr/program/jdk1.6.0.3

  其实hadoop-env.sh里面有这一行,默认是被注释的,你只需要把注释去掉,并且把JAVA_HOME 改成你的java安装目录即可。 

下面要修改core-site.xml,hdfs-site.xml,mapred.xml这三个文件

修改core-site.xml 

默认的core-site.xml是如下这样的 

  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7.   
  8. </configuration>  

  现在要改成如下

  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7. <property>  
  8.   <name>hadoop.tmp.dir</name>  
  9.   <value>/usr/local/hadoop/hadooptmp</value>  
  10.   <description>A base for other temporary directories.</description>  
  11. </property>  
  12. <property>  
  13.   <name>fs.default.name</name>  
  14.   <value>hdfs://192.168.23.111:9000</value>  
  15. </property>  
  16. </configuration>  
  修改hdfs-site.xml  

默认的hdfs-site.xml是如下这样的 

  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7.   
  8. </configuration>  
  要改成如下这样的
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7. <property>  
  8.   <name>dfs.replication</name>  
  9.   <value>1</value>   
  10. </property>  
  11.   
  12. </configuration>  
  修改mapred-site.xml  

默认的mapred-site.xml是如下这样的 

  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7.   
  8. </configuration>  
  要改成如下这样的  
  1. <?xml version="1.0"?>  
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3.   
  4. <!-- Put site-specific property overrides in this file. -->  
  5.   
  6. <configuration>  
  7. <property>  
  8.   <name>mapred.job.tracker</name>  
  9.   <value>192.168.23.111:9001</value>  
  10.   </property>  
  11. </configuration><span style="color: #000000; font-size: 12px;">  
  12. </span>  
以下贴一些在网上看到的说明

1)hadoop分布式文件系统的两个重要的目录结构,一个是namenode上名字空间的存放地方,一个是datanode数据块的存放地方,还有一些其他的文件存放地方,这些存放地方都是基于hadoop.tmp.dir目录的,比如namenode的名字空间存放地方就是 ${hadoop.tmp.dir}/dfs/name, datanode数据块的存放地方就是 ${hadoop.tmp.dir}/dfs/data,所以设置好hadoop.tmp.dir目录后,其他的重要目录都是在这个目录下面,这是一个根目录。我设置的是 /usr/local/hadoop/hadooptmp,当然这个目录必须是存在的。默认目录在/tmp/hadoop-zhy/dfs文件夹下。 

2)fs.default.name,这个是设置namenode位于哪个机器上,端口号是什么hdfs://192.168.133.128:9000,格式一定要这样写,网上很多资料说ip地址写localhost也行,笔者建议最好写ip,因为后期讲到windows下 eclipse连接hadoop 的时候,如果写localhost,就会连接不到。 

3)mapred.job.tracker,这个是设置jobtracker位于哪个机器上,端口号是什么,192.168.133.128:9001,格式和上一个不一样,这个也必须这样写,同样localhost和ip的分别和上述一样 

4)dfs.replication,这个是设置数据块的复制次数,默认是3,因为笔者这里就一台机器,所以只能存在一份,就改成了1 

然后修改 masters和slaves文件

master文件里就把集群中的namenode所在的机器ip,这里就写 192.168.133.128, 不要写localhost,写了localhost,windows 下eclipse 连接不到hadoop 

slaves文件里就把集群中所有的nodedata所在的机器ip,这里就写192.168.133.128,因为这里是单机,同样最好别写localhost 

4、执行

格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format

启动Hadoop守护进程:
$ bin/start-all.sh

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

将输入文件拷贝到分布式文件系统:
$ bin/hadoop fs -put conf input

运行发行版提供的示例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output 
$ cat output/*

或者

在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*

完成全部操作后,停止守护进程:
$ bin/stop-all.sh

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值