hadoop2.7.1单机和伪集群的搭建-0


1.下载   http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz 最新版

   解压: tar -zxvf   hadoop-2.7.1.tar.gz

 

2.配置环境变量

user@EBJ1023.local:/Users/user> vim ~/.bash_profile

 

export HADOOP_HOME=/usr/local/flume_kafka_stom/hadoop_2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3.单机版测试

  Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

现在我们可以执行例子来感受下 Hadoop 的运行。Hadoop 附带了丰富的例子(运行 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。

在此我们选择运行 grep 例子,即将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

 

user@EBJ1023.local:/Users/user> cd /usr/local/flume_kafka_stom/hadoop_2.7.1

mkdir input

  • cp ./etc/hadoop/*.xml input # 将配置文件作为输入文件
  • .user@EBJ1023.local:/usr/local/flume_kafka_stom/hadoop_2.7.1> ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
  • cat ./output/*

查看运行结果:

 

表示单机版的安装成功。

 

4.伪分布式安装与配置

  Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode。

Hadoop 的配置文件位于 /usr/local/flume_kafka_stom/hadoop_2.7.1/etc/hadoop 中,伪分布式需要修改2个配置文件 core-site.xmlhdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (vim /usr/local/flume_kafka_stom/hadoop_2.7.1/etc/hadoop/core-site.xml),将当中的

<configuration>

</configuration>

 

 

修改如下:

 

<configuration>
 <property>
        <name>hadoop_2.7.1.tmp.dir</name>
        <value>file:/usr/local/flume_kafka_stom/hadoop_2.7.1/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

同样的,修改配置文件 hdfs-site.xml

 

<configuration>
 <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/flume_kafka_stom/hadoop_2.7.1/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/flume_kafka_stom/hadoop_2.7.1/tmp/dfs/data</value>
    </property>

</configuration>

 

关于Hadoop配置项的一点说明

虽 然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

配置完成后,执行 namenode 的格式化:

    bin/hdfs namenode -format

结果如下:

成功的话,会看到 successfully formatted 的提示,且倒数第5行的提示如下,Exitting with status 0 表示成功,若为 Exitting with status 1 则是出错。若出错(不该如此,请仔细检查之前步骤),可试着加上 sudo, 既 sudo bin/hdfs namenode -format 再试试看。

接着开启 NaneNodeDataNode 守护进程。

sbin/start-dfs.sh


启动碰到以下问题:连接localhost port 22 Connection  由于本机是mac

解决办法:http://blog.csdn.net/jymn_chen/article/details/39931469

重启正常:

若你使用的是 Hadoop 2.7.1 64位,则此时可能会出现一连串的warn提示,如 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 这个提示,这些warn提示可以忽略,不会影响正常使用。

启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: NameNodeDataNodeSecondaryNameNode。(如果SecondaryNameNode没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试;如果 NameNode 或 DataNode 没有启动,请仔细检查之前步骤)。

查看进程

jps

通过查看启动日志分析启动失败原因

有时 Hadoop 无法正确启动,如 NameNode 进程没有顺利启动,这时可以查看启动日志来排查原因,注意几点:

  • 启动时会提示形如 “DBLab-XMU: starting namenode, logging to /usr/local/flume_kafka_stom/hadoop_2.7.1/logs”,其中 DBLab-XMU 对应你的机器名,但其实启动日志信息是记录在/usr/local/flume_kafka_stom/hadoop_2.7.1/logs 中,所以应该查看这个后缀为 .log 的文件;
  • 每一次的启动日志都是追加在日志文件之后,所以得拉到最后面看,看下记录的时间就知道了。
  • 一般出错的提示在最后面,也就是写着 Fatal、Error 或者 Java Exception 的地方。
  • 可以在网上搜索一下出错信息,看能否找到一些相关的解决方法。

成功启动后,可以访问 Web 界面 http://localhost:50070 来查看 Hadoop 的信息。

 

说明安装成功。

 

 

 

参考文章:http://www.powerxing.com/install-hadoop/   单机和伪分布式hadoop环境搭建

参考文章:http://www.powerxing.com/install-hadoop-cluster/ 集群搭建

 

 
 
 
 
posted @ 2015-11-15 21:00  积淀  阅读(349)  评论(0编辑  收藏  举报