全栈工程师开发手册 (作者:栾鹏)
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。

环境变量中配置

JAVA_HOME:C:\Program Files\Java\jdk1.8.0_161
CLASSPATH:%JAVA_HOME%\lib
Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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的文件系统地址

<configuration><!--指定namenode的地址。--><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
<property><name>io.file.buffer.size</name><value>131072</value></property><!--用来指定使用hadoop时产生文件的存放目录<property><name>hadoop.tmp.dir</name><value>file:/hadoop-2.6.0/tmp</value></property>--><!--用来设置检查点备份日志的最长时间<name>fs.checkpoint.period</name><value>3600</value>-->
</configuration>

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

<configuration><!--指定DataNode存储block的副本数量--><property><name>dfs.replication</name><value>1</value></property><!--指定hdfs中namenode的存储位置--><property><name>dfs.namenode.name.dir</name><value>file:/hadoop-2.7.5/data/namenode</value></property><!--指定hdfs中datanode的存储位置。这里要配置自己的位置--><property><name>dfs.datanode.data.dir</name><value>file:/hadoop-2.7.5/data/datanode</value></property><!--namenode的存储系统情况网址  --><property><name>dfs.namenode.http-address</name><value>127.0.0.1:50070</value></property><property><name>dfs.namenode.secondary.http-address</name><value>127.0.0.1:8001</value></property>
</configuration>

mapred-site.xml
若目录中无此文件,则复制etc/hadoop/mapred-site.xml.template重命名为此文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration><!--告诉hadoop以后MR(Map/Reduce)运行在YARN上--><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

yarn-site.xml
这里面配置的是yarn的日志地址以及一些参数配置

  <!--nomenodeManager获取数据的方式是shuffle--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--指定Yarn的RM(ResourceManager)的地址 --><property><name>yarn.resourcemanager.hostname</name><value>127.0.0.1</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>127.0.0.1:8088</value></property><!--Yarn打印工作日志--><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property>

hadoop-env.cmd

set JAVA_HOME=C:\Progra~1\Java\jdk1.8.0_161

其中java的安装路径使用你自己的路径,由于Program Files中有空格,所以使用progra~1代码

第一次启动前操作

**在hadoop-env.sh里写JAVA_HOME。**下面的是默认设置,不要使用这个默认设置,它不会读取系统环境中的JAVA_HOME所以要改成你的实际地址

export JAVA_HOME= C:\Program Files\Java\jdk1.8.0_161

**先启动hdfs,**在此之前要格式化分布式文件系统。启动windows命令行窗口,切换到hadoop的bin目录。进行以下操作

hdfs namenode -format myclustername

如果格式化正常可以看到生成了在hdfs-site.xml文件中设置的两个目录地址。在启动中有可能会询问是否创建文件目录,选择Y就是可以了。

**启动namenode。**启动windows命令行窗口,切换到hadoop的sbin目录。进行以下操作

hadoop-daemon.sh --script hdfs start namenode

如果正常启动,可以看到启动了相应的进程,并且/hadoop-2.7.5/logs目录下生成了相应的日志。

然后启动datanode,命令行窗口,切换到hadoop的sbin目录执行:

hadoop-daemon.sh --script hdfs start datanode

如果考虑启动secondary namenode,可以用同样的方法启动

下面我们启动yarn,先启动resourcemanager,sbin目录下执行:

yarn-daemon.sh start resourcemanager

如果正常启动,可以看到启动了相应的进程,并且logs目录下生成了相应的日志

然后启动nodemanager,执行:

yarn-daemon.sh start nodemanager

如果正常启动,可以看到启动了相应的进程,并且logs目录下生成了相应的日志。

然后启动MapReduce JobHistory Server,执行:

mr-jobhistory-daemon.sh start historyserver

如果正常启动,可以看到启动了相应的进程,并且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

解压后,在系统环境变量中添加

HBASE_HOME:G:\hbase-1.3.2
PATH:%HBASE_HOME%\bin

解压后修改conf/hbase-site.xml,改成:

<configuration><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.rootdir</name><value>hdfs://localhost:9000/hbase</value></property><property><name>hbase.zookeeper.quorum</name><value>127.0.0.1</value></property>
</configuration>

其中hbase.rootdir配置的是hdfs地址,ip:port要和hadoop/core-site.xml中的fs.defaultFS保持一致

其中hbase.zookeeper.quorum是zookeeper的地址,可以配多个,我们试验用就先配一个。

启动hbase,window命令窗口,切换到hbase安装目录下,我这里是G:\hbase-1.3.2\bin目录下,执行:

start-hbase.sh

这时有可能会让你输入本地机器的密码

启动成功后可以看到几个进程起来,包括zookeeper的HQuorumPeer和hbase的HMaster、HRegionServer

下面我们试验一下hbase的使用,在cmd窗口中输入:

hbase shell

启动hbase的shell编程

window下hadoop、hbase的安装和eclipse开发环境配置相关推荐

  1. Windows安装Go语言开发环境+配置

    Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. 今天我们就来简单的介绍下Windows下安装go语言开发环境的简单的教程和一些配置,我想对于刚刚入手的小伙伴来说,这个教程还是很 ...

  2. VMware安装Debian9及开发环境配置

    序 需要用到一个搭载armv7架构A7内核的Linux设备,装的是Debian系统,为便于兼容该设备故用VMware安装一个Debian9虚拟机,整理总结了网上一些信息以供参考. 目录 一.安装Deb ...

  3. 安装OpenCV +VS2010 开发环境配置

    目录(?)[-] 2014年4月28更新OpenCV 249的配置 2014年9月12更新OpenCV 30的配置 因为读研期间的研究方向是图像处理所以浅墨这段时间闭门研究了很多OpenCV和图像处理 ...

  4. win7旗舰版安装不了python_怎样在Win7 64位旗舰版安装Python+Eclipse开发环境

    自从上周抛弃了WinXP转而安装了Win7,64位后,尝试安装Python+Eclipse遇到了一点小问题.现在已经解决,将安装顺序记录如下,供参考. Setp1,到ORACLE网站下载64位的JDK ...

  5. linux下flex与bison源码安装,Win flex-bison开发环境配置

    Flex-Bison是一套很好很方便的工具,但是主要基于Linux,对于我这种喜(懒)欢(于)使(学)用(习) Windows(Linux)的主,希望能够在windows环境中使用这套工具.所幸,国外 ...

  6. eclipse 开发环境配置

    eclipse开发工具基本设置. 这里是我总结的最基本的配置,当然根据具体的开发环境可能还需要进一步修改或拓展. 1  修改字体 步骤如下: 一:修改Java编辑界面的字体大小:如下 Wiondow  ...

  7. Ubuntu基本软件安装和web开发环境配置

    经过两天的的不懈努力,终于把环境配置好了.其中从淡定到蛋疼,从希望到失望再到绝望的过程我就不多说了.写本文的目的是不希望别人在配置环境时再像我一样遭受迷失在搜索引擎里的痛苦.闲话少说,直接上教程.(本 ...

  8. DirectX9 SDK 下载、安装、VC++开发环境配置、跑通第一个例子

    一 可在 http://download.microsoft.com/download/F/1/7/F178BCE4-FA19-428F-BB60-F3DEE1130BFA/DXSDK_Feb10.e ...

  9. Windows下安装Java以及开发环境配置

    1.下载JDK(以及JRE) 首先我们需要下载java开发工具包JDK,下载地址:https://download.eclipse.org/oomph/jre/index-handler.php?vm ...

最新文章

  1. guava-cache设计与实现
  2. 复制介绍、复制的实用价值
  3. 华为手机asph啥机型_华为正式宣布!19款机型开启新系统内测,你的手机榜首有名吗?...
  4. tomcat手动发布
  5. Nginx学习笔记(七) 创建子进程
  6. 2017二级c语言选择题,2017年9月计算机二级C语言考试选择题
  7. Android系统(142)动画---动画使用攻略
  8. 放弃用你的InnerHTML来输出HTML吧,jQuery Tmpl不详细讲解
  9. Python网络爬虫第一弹《Python网络爬虫相关基础概念》
  10. linux查看内存条pn,查看电脑内存条型号的两种方法【图文】
  11. vbscript运行环境linux,VBScript 是什么?
  12. 利用JavaScript完成页面定时弹出广告
  13. A Unified Multi-scale Deep Convolutional_Neural Network for Fast Object Detection 论文笔记
  14. c++超级简单的计算器
  15. AutoX-1. 网页瀑布流 AutoX-2. 蚂蚁王国的蜂蜜
  16. 使用matplotlib绘制折线图(绘制一天当中的气温变化)
  17. 矢量线的一种栅格化算法
  18. 将本地的项目导入到github仓库总结lxw
  19. 《剑来》语句摘录(五)
  20. java中super用来定义父类,定义子类必须使用的关键字是 在java中子类若要继承父类,需要使用的关键字是什么...

热门文章

  1. 从语音识别到人脸识别:谁才是打开智能电视的正确姿势?
  2. R-查询子段元素和 提前储存
  3. 解决浏览器中点击input输入框时,placeholder的值不消失的方法
  4. mysql导出约束文件_MySQL导出所有Index 和 约束
  5. 【王道计组笔记】I/O查询方式
  6. 【java笔记】java语言的跨平台性和运行环境
  7. 【算法笔记】:区间覆盖问题:贪心算法
  8. ggbiplot设置分组_prcomp和ggbiplot:无效的’rot’值
  9. 虚拟linux无线网卡驱动安装失败,救命1 :Atheros AR5212无线网卡驱动安装失败!!...
  10. html去除radio的样式,【HTML+CSS】纯CSS设置checkbox大小和样式 附Radio的去除默认样式和自定义样式...