Hadoop 单机伪分布基本操作教程
Hadoop 单机伪分布基本操作教程
一瞳孔 发表于7个月前
Hadoop 单机伪分布基本操作教程
  • 发表于 7个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

摘要: 简单记录一下hadoop开发环境搭建

0. 先决条件,已经安装好 Java 环境

1. hadoop 安装

下载地址:http://hadoop.apache.org/releases.html,下载完成之后

$ tar xvf hadoop-2.6.4.tar # 解压
$ mv hadoop-2.6.4 /usr/local # 将解压后文件复制到 /usr/local 里
$ cd /usr/local/hadoop-2.6.4/bin # 进入hadoop命令目录
$ ./hadoop version # 查看hadoop版本
Hadoop 2.6.4
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 5082c73637530b0b7e115f9625ed7fac69f937e6
Compiled by jenkins on 2016-02-12T09:45Z
Compiled with protoc 2.5.0
From source with checksum 8dee2286ecdbbbc930a6c87b65cbc010
This command was run using /usr/local/hadoop-2.6.4/share/hadoop/common/hadoop-common-2.6.4.jar

 

2. hadoop 分布式配置

2.1 修改 hadoop 的 core-site.xml 配置文件

$ cd /usr/local/hadoop-2.6.4/etc/hadoop
$ vi core-site.xml # 编辑 core-site.xml 配置文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

2.2 修改 hadoop 的 hdfs-site.xml 配置文件

$ cd /usr/local/hadoop-2.6.4/etc/hadoop
$ vi hdfs-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

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

2.3 以上配置完成之后,执行 NameNode 的格式化

$ cd /usr/local/hadoop-2.6.4/bin

#执行下面命令之后的返回信息中应该出现
#common.Storage: Storage directory /usr/local/hadoop-2.6.4/site_data/hadoop-data/tmp/dfs/name has been successfully formatted.
#util.ExitUtil: Exiting with status 0
$ ./hdfs namenode -format

2.4 开启 NameNode 和 DataNode 守护进程

$ cd /usr/local/hadoop-2.6.4/sbin

#执行下面命令之后,如果出现
#Are you sure you want to continue connecting(yes/no)?
#输入yes 
$ ./start-dfs.sh

如果启动时提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable,则可以忽略提示,不会影响正常使用。

2.5 完成启动之后,使用 jps 来判断启动是否成功

$ jps
4355 DataNode
4499 SecondaryNameNode
4240 NameNode
11332 Jps

DataNode、NameNode 和 SecondaryNameNode 这三个进程必须存在,缺一不可。

PS. 如果 DataNode 无法正常启动,则可以删除所有 tmp 文件

$ cd /usr/local/hadoop-2.6.4/sbin
$ ./stop-dfs.sh #关闭
$ cd /usr/local/hadoop #具体路径查看 core-site.xml 配置文件
$ rm -rf tmp
$ cd /usr/local/hadoop-data #具体路径查看 hdfs-site.xml 配置文件
$ rm -rf tmp

3. 运行 hadoop 的实例,进行开发测试

$ cd /usr/local/hadoop-2.6.4/bin

#在hdfs上创建一个hadoop实例读取日志文本的目录
$ ./hdfs dfs -mkdir -p /user/hadoop/input

#将本地的日志文件上传至hdfs的/user/hadoop/input/目录中
$ ./hdfs dfs -put /home/guonan/user-behave.log /user/hadoop/input/

#查看hdfs中/user/hadoop/input/目下的文件
$ ./hdfs dfs -ls /user/hadoop/input/

#运行hadoop执行实例的命令
#如果重新执行该命令,则必须先删除/user/hadoop/output/该目录
#使用 ./hdfs dfs -rm -r /user/hadoop/output 删除
$ ./hadoop jar /home/guonan/user-behave-1.0.jar /user/hadoop/input/user-behave.log /user/hadoop/output/

#查看执行结果
$ ./hdfs dfs -cat /user/hadoop/output/*

 

标签: Hadoop
共有 人打赏支持
粉丝 0
博文 3
码字总数 2820
评论 (0)
×
一瞳孔
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: