一.准备教程
1.jdk:版本在1.7.x以上就可以(因为hadoop2.x以上只支持1.7.x以上的jdk,我的是1.8的)
2.Hadoop:2.7.3
二.ssh的配置以及验证
配置ssh:
1.确认mac的远程登录是否开启
系统偏好设置->共享->勾选远程登录.
当远程登录状态为打开且为绿灯时,成功开启,ok,进行下一步.
2.打开你的terminal,在终端执行如下命令:
ssh-keyagent -t
然后一直回车。当执行完这条指令之后你可以在前往到~/.ssh目录下发现如下两个文件
当出现这两个文件之后,再在终端执行如下代码(该代码用于ssh免登录设置):
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
ok,ssh免登录配置完成。
验证ssh
配置完ssh之后现在来验证ssh是否配置成功
在终端输入如下命令:
ssh localhost
如果出现如下信息,则免密码登录ssh配置成功。
三.安装jdk
安装jdk,在这里就不用多啰嗦了.提醒一下的是,务必要安装1.7以上的jdk。
JDK1.8下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
四.安装Hadoop
当jdk安装完毕以及ssh配置都成功之后我们现在可以来着手进行Hadoop的安装了。
Hadoop下载地址: https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
下载如下图片标记的文件即可:
将该文件解压到你喜欢的地方。如果怕找不到解压后的文件的路径,那么就将该文件标记一下颜色,下次输入该文件的所在路径的话,直接选择你标记的颜色,找到该文件,然后拖到终端就能显示该文件的绝对路径了。ok,Hadoop安装完成.
五.修改Hadoop的配置文件
所需要修改的配置文件都在hadoop-2.7.3/etc/hadoop目录下。
hadoop-env.sh
加入以下代码:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
core-site.xml
该配置文件用于指明namenode的主机名和端口,hadoop临时目录
<configuration> <!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/Library/hadoop-2.7.3/temp</value>
</property> </configuration>
hadfs-site.xml
默认副本数3,修改为1,dfs.namenode.name.dir指明fsimage存放目录,多个目录用逗号隔开。dfs.datanode.data.dir指定块文件存放目录,多个目录逗号隔开
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/Library/hadoop-2.7.3/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/Library/hadoop-2.7.3/tmp/hdfs/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
mapred-site.xml
<configuration> <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> </configuration>
yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> </configuration>
六.配置Hadoop环境变量
当你完成第五步之后那么你离hadoop的使用就不远啦。加下来我们要做的就是配置hadoop环境变量。
打开你的终端,执行以下命令。(如果有对sudo,vim命令不熟悉的同志们,建议你们先熟悉一下这些命令,了解一下如何编辑如何退出,如何使文件生效就可以了)
//在etc目录下创建profile并进入编辑模式
sudo vim /etc/profile
//=后面接的是你的hadoo目录所在的路径,不知道路径的同学可以直接将文件拖到终端就可以显示该目录的绝对路径了
export HADOOP_HOME=/Users/eleme/Documents/ProgramFiles/apache-software-foundation/hadoop-2.7.3/hadoop
//然后退出编辑模式,这个操作自己去了解一下
//执行刚才写的profile,使profile生效
source /etc/profile
七.运行Hadoop
打开终端,跟着以下命令一步一步走就可以了。
//进入hadoop安装目录
cd $HADOOP_HOME
//初始化namenode
hdfs namenode -format
//启动hdfs
sbin/start-dfs.sh
//启动yarn
sbin/start-yarn.sh
当启动完hdfs以及yarn可以打开浏览器,输入以下地址看是否能进入对应的页面
启动完hdfs访问: http://localhost:50070
对应的页面:
启动完yarn访问: http://localhost:8088
对应的页面:
如果你能进入这两个页面,ok,那么你的hadoop以安装成功!
八.运行Hadoop实例
同第七个步骤一样,打开终端跟着以下命令一步一步执行。
//1.进入你的hadoop安装目录
cd $HADOOP_HOME
//2.在hdfs上创建你的用户目录,其中中间那个需要你自己填啊别直接粘贴运行啊
hdfs dfs -mkdir -p /user/(你本机用户名)/input
//3.这个时候你可以执行以下命令来查看目录是否在hdfs上创建成功
hadoop fs -ls /user/(你本机用户名)/input
如果成功的话,那么就会有如下图的显示:
//4.然后将需要统计的文件上传到hdfs上,其中($HADOOP_HOME/etc/hadoop/*.xml)是要上传的文件的路径 后面有个空格 然后接你要上传的目录路径(也就是你刚刚所创建的目录)
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /user/(你本机用户名)/input
//同样也可以用第3步的命令来查看文件是否上传成功
//5.运行测试jar
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep input output ‘dfs[a-z.]+’
//6.然后查看运行之后的产生的output文件夹下的信息
hdfs dfs -cat output/part-r-00000
最后在终端显示的output文件夹下的信息的结果如下图:
如果跟上图一致,那么,恭喜你,你迈出了hadoop的一小步,继续加油!