天天研究iOS底层原理,容易出问题;对大数据垂涎已久,现在有时间正好了解一下,
记录安装及运行demo的一些点
1.安装
我的安装环境:Mac OS 10.13.3
主要参考的这篇文章『 Hadoop 』mac下Hadoop的安装与使用
有几个坑记录下:
- cask
brew install caskroom/cask/brew-cask
这个命令直接运行会报错,在Stack Overflow上上找到答案,brew-cask已经默认装上了,直接运行brew install caskroom/cask就可以
- 配置ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
当时忘记执行这一步了
- 配置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目录找不到错误
- 启动服务
默认的http://localhost:50070端口修改为http://localhost:9870端口 - 配置shell环境变量
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.0.0/libexec
路径要多加一层libexec,现在这个路径看着有点儿醉
2. 运行demo
参考:【Hadoop】MAC下hadoop2.6安装以及执行wordcount
运行wordcount demo,实现统计文件中单词的词频功能,不需要写代码,只需要会用现成的库就可以了
步骤如下:
-
在hadoop根目录下创建input目录,将统计文件放入input(名字随机)
在input同级目录下不要有output目录,或者其他要指定输出的目录,因为运行时不会覆盖
执行如下命令即可
hadoop jar /usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0.jar wordcount input output
-
运行结果使用cat命令输出:
ps:hadoop-mapreduce-examples-3.0.0.jar在/usr/local/Cellar/hadoop/3.0.0/libexec/share/hadoop/hdfs这个目录下
3. 一些随想
- 大数据主要是从数据中找规律,找到大量数据中的隐含的信息,以帮助我们改进产品策略、投放策略等等任务,还是挺有用的
- 现在技术发展确实越来越快了,各个技术解决的问题不一样,没有坏技术,实用的就是好技术
- 需要反思,我对技术的理解还比较局限,总觉得iOS技术很水,只是请求数据、搭搭界面、没啥含量,单做这个确实没啥含量,听着就没有大数据高大上;从挣钱的角度理解,iOS是做应用的,是距离用户最近的产品,后端的所有一切,最终都要在App中呈现,所以这个技术肯定是整个生态中重要的一环,死不了;
- 畅想一下,iOS的下一波崛起应该就是AI了,未来应用的交互应该不只是点击这种操作,应该有更高大上的,语音、脸部(各种动作)识别等等