hadoop 伪分布式部署


1.linux系统选择
 deban 和 redhat 都差很少配置 个人是fedora ,可是推荐你们用centos (本身学习下sudo配置和基础命令,文档须要的邮件发送: linux经常使用命令.pdf) java

2.java环境
 java环境比较重要,比较高版本的jdk hadoop支持不是很好,建议选择相对稳定的1.6.34 (jdk-6u34-linux-x64.bin 须要的邮件发送或本身下载 )
 环境配置很简单tar后配置一下环境变量javahome jrehome classpath path 不会的话只能去百度google了 这里不是重点。
 记得给文件夹提权,(命令: chmod 664  jdk路径/jdk-6u34-linux-x64/ ) 后面参数是jdk解压路径
3.Hadoop
 我用的是hadoop1.0.3
 tar -xzvf hadoop-1.0.3-bin.tar.gz 解压出来
 配置环境变量sudo vim /etc/environment而后是配置Hadoop的环境变量,跟以前JAVA环境变量相似。
 sudo vim /etc/environment
PATH中添加":/解压路径/hadoop/hadoop-1.0.3/bin"。(注意是path中追加 不是修改!!!) node

而后要配置ssh无密码登陆localhost,在这以前须要确认ssh和rsync已经安装
伪分布式
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa  # 生成秘钥
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #把秘钥追加到 authorized_keys中 若是是集群 就要将全部集群中的主机秘钥都加入authorized_keys linux

ssh localhost #无密码登陆 vim

重点学习下公钥私钥是什么!!! ssh靠这个认证主机用的
(无密码登录 上次培训时提到能够不用配置 可是每次ssh都要输入密码 介意先配置了 若是不明白百度google一下) centos

接下来是Hadoop的配置
 首先是JAVA路径,修改hadoop-1.0.3/conf/hadoop-env.sh文件中的JAVA_HOME=/usr/lib/jvm/jdk1.6.0_34为本身的jdk路径 浏览器

 而后是修改conf下面的几个xml文件
1- vim core-site.xml
<configuration>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/本地hadoop路径/hadoop-1.0.3/datatmp/hadoop-${user.name}</value>
  </property>
</configuration>
2- vim hdfs-site.xml
<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>
3- vim mapred-site.xml
<configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
  </property>
</configuration>
至此一个伪分布式的Hadoop就配置好了 能够运行一下测试脚本
查看版本 hadoop version ssh

格式化一个namenode(以后不要轻易格式化,不然namenode的ID变化会比较麻烦)
hadoop namenode -format
而后启动各项服务。
 start-all.sh(服务所有开启 :慎用)
最后中止服务 命令:
 stop-all.sh(服务所有中止 :慎用) jvm

这样就能够在浏览器中查看相应信息啦。
NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
等datanode启动好,就能够把文件复制到分布式系统
上传文件命令:hadoop fs -put conf input 分布式

查看测试结果 命令:
 hadoop fs -cat output/* oop

 

有感兴趣的同事能够一块儿学习hadoop hive hbase+zookepper sqoop mapreduce mahout