全栈工程师开发手册 (作者:栾鹏)
python数据挖掘系列教程
hadoop下载
这里下载的hadoop-2.7.5.tar.gz
http://mirror.bit.edu.cn/apache/hadoop/common/
或者下载hadoop-2.7.3.tar.gz
http://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/
我们这里使用2.7.5
确保操作系统是64bit,已安装.netframework,要4.0以上版本,一般现在的windows系统都有自带的。
确保安装并配置了64位的Java1.7以上版本。我这里用的是64位的JDK1.8.0。不能使用32位的java。
环境变量中配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZbWj3Q7-1606048128037)(http://i.imgur.com/4JP1bzc.png)]
解压也不细说了,注意路径里不要带空格,否则可能会无法正确识别。这里复制到G盘根目录直接解压,出来一个目录G:\hadoop-2.7.5
(解压后会提示报错说有两个.so的文件没法创建链接,不用管直接干)
配置环境变量
创建HADOOP_HOME为G:\hadoop-2.7.2
在PATH里加上%HADOOP_HOME%\bin;
配置设置
到hadoop根目录,如果没有data文件夹的话就新建一个,然后在data下分别创建datanode、namenode两个文件夹
下载相关工具类,直接解压后把文件丢到G:\hadoop-2.7.5\bin目录中去,将其中的hadoop.dll在c:/windows/System32下也丢一份;
去G:\hadoop-2.7.5\etc\hadoop找到下面4个文件并按如下最小配置粘贴上去:
core-site.xml
这里面配置的是hdfs的文件系统地址
hdfs-site.xml
这里面配置的是hdfs文件存储在本地的哪里以及secondary namenode的地址。其中file:/hadoop-2.7.5/data/namenode表示当前盘符下的/hadoop-2.7.5/data/namenode文件夹,在我电脑上就是G:\hadoop-2.7.5\data\namenode
mapred-site.xml
若目录中无此文件,则复制etc/hadoop/mapred-site.xml.template重命名为此文件。
yarn-site.xml
这里面配置的是yarn的日志地址以及一些参数配置
hadoop-env.cmd
其中java的安装路径使用你自己的路径,由于Program Files中有空格,所以使用progra~1代码
第一次启动前操作
**在hadoop-env.sh里写JAVA_HOME。**下面的是默认设置,不要使用这个默认设置,它不会读取系统环境中的JAVA_HOME所以要改成你的实际地址
**先启动hdfs,**在此之前要格式化分布式文件系统。启动windows命令行窗口,切换到hadoop的bin目录。进行以下操作
如果格式化正常可以看到生成了在hdfs-site.xml文件中设置的两个目录地址。在启动中有可能会询问是否创建文件目录,选择Y就是可以了。
**启动namenode。**启动windows命令行窗口,切换到hadoop的sbin目录。进行以下操作
如果正常启动,可以看到启动了相应的进程,并且/hadoop-2.7.5/logs目录下生成了相应的日志。
然后启动datanode,命令行窗口,切换到hadoop的sbin目录执行:
如果考虑启动secondary namenode,可以用同样的方法启动
下面我们启动yarn,先启动resourcemanager,sbin目录下执行:
如果正常启动,可以看到启动了相应的进程,并且logs目录下生成了相应的日志
然后启动nodemanager,执行:
如果正常启动,可以看到启动了相应的进程,并且logs目录下生成了相应的日志。
然后启动MapReduce JobHistory Server,执行:
如果正常启动,可以看到启动了相应的进程,并且logs目录下生成了相应的日志。
到这里,你的hadoop就可以正常使用了。可以查看一下版本 hadoop version
启动hadoop集群
切换到hadoop的 sbin目录 执行:start-all.cmd
启动会弹出数个窗口,启动完成需要数秒时间,所以要稍等片刻才能成功访问下面的网址。
hadoop管理界面:http://localhost:8088。看下yarn管理的集群资源情况(因为在yarn-site.xml中我们配置了yarn.resourcemanager.webapp.address是127.0.0.1:8088)
NameNode界面:http://localhost:50070。看下namenode的存储系统情况(因为在hdfs-site.xml中我们配置了dfs.namenode.http-address是127.0.0.1:50070)
HDFS NameNode界面:http://localhost:8042
如果重启hadoop无需再格式化namenode,只要stop-all.cmd再start-all.cmd就可以了。
到此为止我们对hadoop的部署完成。下面试验一下hadoop的功能。
先验证一下hdfs分布式文件系统,执行以下命令看是否有输出:
配置开发环境
下载:
hadoop-eclipse-plugin-2.7.5.jar 将其拷贝到eclipse中的plugins中。
重新启动eclipse,打开windows->Preferences的Hadoop Map/Reduce中设置安装目录:
打开Windows->Open Perspective打开透视图中的Map/Reduce,在此perspective下进行hadoop程序开发。
打开Windows->Show View显示视图中的Map/Reduce Locations,如下图
右键选择New Hadoop location…新建hadoop连接。
配置hadoop连接
Map/Reduce Master
Host:localhost(Master.Hadoop的IP地址, 与集群的mapred-site.xml文件中配置的一样)
Port:50020 (与集群的mapred-site.xml文件中配置的一样)
因为我们并没有配置,所以使用默认的。
DFS Master
Use M/R Master host:前面的勾上。(因为我们的NameNode和JobTracker都在一个机器上。)
Port:9000(与集群的core-site.xml文件中配置的一样)
完成配置,显示连接信息(只有hadoop集群启动了才能连接成功哦)
连接成功!可以新建项目了咯
新建->项目->Map/Reduce Project
至此配置已完成!
hbase的部署
首先从http://www.apache.org/dyn/closer.cgi/hbase/下载稳定版安装包,我下的是https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/stable/apache-hive-2.1.1-bin.tar.gz
保持hadoop启动状态,我们来学习hbase的部署。
解压后即可使用,我这里和hadoop-2.7.5一样都放在了G盘中,路径为G:\hbase-1.3.2
解压后,在系统环境变量中添加
解压后修改conf/hbase-site.xml,改成:
其中hbase.rootdir配置的是hdfs地址,ip:port要和hadoop/core-site.xml中的fs.defaultFS保持一致
其中hbase.zookeeper.quorum是zookeeper的地址,可以配多个,我们试验用就先配一个。
启动hbase,window命令窗口,切换到hbase安装目录下,我这里是G:\hbase-1.3.2\bin目录下,执行:
这时有可能会让你输入本地机器的密码
启动成功后可以看到几个进程起来,包括zookeeper的HQuorumPeer和hbase的HMaster、HRegionServer
下面我们试验一下hbase的使用,在cmd窗口中输入:
启动hbase的shell编程