我爱编程

Hadoop初探

2018-04-10  本文已影响26人  George_Luofz

天天研究iOS底层原理,容易出问题;对大数据垂涎已久,现在有时间正好了解一下,
记录安装及运行demo的一些点

1.安装

我的安装环境:Mac OS 10.13.3
主要参考的这篇文章『 Hadoop 』mac下Hadoop的安装与使用
有几个坑记录下:

  1. cask
brew install caskroom/cask/brew-cask 

这个命令直接运行会报错,在Stack Overflow上上找到答案,brew-cask已经默认装上了,直接运行brew install caskroom/cask就可以

  1. 配置ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

当时忘记执行这一步了

  1. 配置Hadoop

3.1 配置环境变量

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home" #改为自己JDK目录

JAVA_HOME 要改成本机的jdk版本目录

3.2. 配置core-site.xml
configuration></configuration>原来该文件里的内容时空的,运行本机的demo时,查找目录是hadoop的根目录
修改之后,默认的运行目录就变了,会去找dfs://localhost:8020这个根目录,所以我在运行wordcount demo时会报找不到input目录找不到错误

  1. 启动服务
    默认的http://localhost:50070端口修改为http://localhost:9870端口
  2. 配置shell环境变量
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec

路径要多加一层libexec,现在这个路径看着有点儿醉

2. 运行demo

参考:【Hadoop】MAC下hadoop2.6安装以及执行wordcount
运行wordcount demo,实现统计文件中单词的词频功能,不需要写代码,只需要会用现成的库就可以了
步骤如下:

  1. 在hadoop根目录下创建input目录,将统计文件放入input(名字随机)


    屏幕快照 2018-04-10 16.42.37.png
  2. 在input同级目录下不要有output目录,或者其他要指定输出的目录,因为运行时不会覆盖

  3. 执行如下命令即可

hadoop jar /usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount input output
  1. 运行结果使用cat命令输出:


    运行结果

ps:hadoop-mapreduce-examples-3.0.0.jar在/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/hdfs这个目录下


jar包目录
3. 一些随想
上一篇 下一篇

猜你喜欢

热点阅读