学习hadoop有一个星期了,先是看了看书,hadoop权威指南,很不错的入门级教材。

书的内容偏向于基础原理,多读几遍会收获很多。

本人菜鸟一只,为了把自己的学习心得分享给大家,就在此开始记录一下,希望大神们批评指点,好吧,主题开始:

hadoop 伪分布模式

操作系统:Centos6.2

JDK:jdk1.6.0_30

hadoop版本:hadoop-0.20.203.0

--建议不在root下操作,可以新建hadoop用户和组

1.安装JDK环境

--在/usr/java/目录下解压并安装,安装好之后配置一下环境变量PATH

--vi或者gedit /etc/profile 在最后添加java环境

----export JAVA_HOME=/usr/java/jdk1.6.0_30

----export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

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

--环境配置好之后,在终端里输入java -version ,出现版本信息则表示成功,否则可能是环境路径配置有误,请仔细检查。

2.ssh验证配置

--Hadoop 需要使用SSH 协议,namenode 将使用SSH 协议启动 namenode和datanode 进程,伪分布式模式数据节点和名称节点均是本身,必须配置 SSH localhost验证。

--验证步骤有提示就按回车

----$ssh-keygen -t  rsa

有提示就按回车 然后通过命令行cd .ssh进入目录  执行下面的命令,就会设置好无密码登录了

----$cat id_rsa.pub > authorized_keys

3.host主机的设置

127.0.0.1 localhost.localdomain localhost

::1 localhost6.localhostdomain6 localhost6

127.0.0.1 namenode datanode01

4.hadoop安装与配置

--在用户目录下解压hadoop并进行配置

----在conf目下找到hadoop-env.sh,打开编辑器添加下面的jdk安装路径

#set java env

export JAVA_HOME=/usr/java/jdk1.6.0_30

 --/conf/配置core-site.xml

 <property>

         <name>fs.default.name</name>

         <value>hdfs://namenode:9000/</value>

   </property>

   <property>

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

     <value>/home/hadoop/hadooptmp</value>

   </property>

-- 配置hdfs-site.xml

<property>

     <name>dfs.name.dir</name>

     <value>/home/hadoop/hdfs/name</value>

  </property>

  <property>

     <name>dfs.data.dir</name>

     <value>/home/hadoop/hdfs/data</value>

  </property>

     <property>

         <name>dfs.replication</name>

         <value>1</value>

     </property>

--配置mapred-site.xml

   <property>

         <name>mapred.job.tracker</name>

         <value>namenode:9001</value>

     </property>

--配置master,slaves文件

vi master 内容修改为 namenode

vi slaves 内容修改为 datanode01

hadoop伪分布模式算是基本配置好,然后测试一下吧

hadoop namenoede -format 格式化一下

./start-all.sh 启动所有守护进程

然后jps一下 会看到下面的内容

6179 JobTracker

6296 TaskTracker

6367 Jps

5883 NameNode

6002 DataNode

6111 SecondaryNameNode

这样才算是真正跑起来了     

大家快来试试吧!

 

文章比较简略,我也是配置了大半天才成功,现在正在研究Hbase+Hive,就写到这吧。