以前从未接触过这方面,刚上手还是在Windows下,确实好复杂,特此记录下。
参考文章:
https://mathpretty.com/9652.html
目录
一、安装Hadoop
1.首先安装java环境,环境变量还是需要配置的。
2.下载 hadoop-2.7.4.tar.gz
3.下载 Hadoop 2.7.4 Windows 64位 编译bin
4.配置所需系统环境变量
5.修改 Hadoop 配置文件(namenode,datanode运行读取)
6.启动
二、安装Hbase
1.下载、解压
2.修改配置文件
3.启动
一、安装Hadoop
1.首先安装java环境,环境变量还是需要配置的。
我个人的配置,新建系统变量。
然后在path变量下加上
%JAVA_HOME%\bin
验证:
2.下载 hadoop-2.7.4.tar.gz
地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.4/
3.下载 Hadoop 2.7.4 Windows 64位 编译bin
网上提供的下载地址:
将压缩包里的 bin 目录下文件替换官网 hadoop 目录下的 bin 目录。
4.配置所需系统环境变量
在path变量下加上
%HADOOP_HOME%\bin
测试是否配置成功
打开 cmd 窗口,执行 hadoop version,如下图:
5.修改 Hadoop 配置文件(namenode,datanode运行读取)
注意:配置文件里windows所有盘符前要加/,比如: /D:/XXXXXXXXXX
编辑“Hadoop2.7.4\etc\hadoop ”下的配置文件,参考配置如下:
1、core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--指定namenode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8010</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<!--用来指定使用hadoop时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/SDE/Hadoop2.7.4/workplace/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
2、hdfs-site.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--指定hdfs保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
<property>
<name>dfs.name.dir</name>
<value>/D:/SDE/Hadoop2.7.4/workplace/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/D:/SDE/Hadoop2.7.4/workplace/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
</configuration>
3、mapred-site.xml(没有的话,直接将mapred-site.xml.template重命名即可):
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--告诉hadoop以后MR运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4、yarn-site.xml
<?xml version="1.0"?>
<configuration>
<!--nomenodeManager获取数据的方式是shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定Yarn的老大(ResourceManager)的地址-->
<!--****************-->
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
</configuration>
6.启动
1、cmd 执行 hdfs namenode -format 指令格式化系统文件。
2、格式化完成后,到 hadoop/sbin 目录下执行 start-dfs 或 start-all 指令,启动hadoop
访问:http://localhost:50070
二、安装Hbase
2019-12-22更新:2.x版本在windows下的hbse shell有兼容问题,方向键会乱码,百度谷歌都没有解决,,,,,难受,可能是自己太菜。也在自己的主机上尝试装过,然而1核1g实在是跑不起来,就此作罢。所以,,,,我又换回1.4.12了,啊哈哈。
几经折腾,发现1.4.12的web界面其实是有开启的,只是端口并不固定(至少在我的机子上是这样的),即使是在hbase-site.xml里面已经指定端口,然而并没有用。在日志里可以看到端口,很麻烦哈。或者在资源监视器里面猜,哈哈
2019-12-19更新:这个版本的HBase无法访问web控制界面,百度、google好久也无法解决。于是换成了2.1.8的版本,然而启动直接报错:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/htrace/core/HTraceConfiguration
解决办法:
将hbase-2.1.8\lib\client-facing-thirdparty\htrace-core4-4.2.0-incubating.jar复制一份到hbase-2.1.8\lib目录下,成功启动,访问http://localhost:16010也没问题。
进入hbase shell报错:
java.lang.NoClassDefFoundError: Could not initialize class org.fusesource.jansi.internal.Kernel32
解决:缺少jar包导致,百度搜索下载 jansi-1.4.jar,放入hbase-2.1.8\lib目录下
1.下载、解压
https://hbase.apache.org/downloads.html
2.修改配置文件
接着修改./hbase/conf/hbase-site.xml:
打开之后,可以看到<configuration>标签是空的,我们增加下面的内容:
<configuration>
<property>
<name>hbase.root.dir</name>
<value>file:///D:/Programs/hbase-1.4.12/root</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/Programs/hbase-1.4.12/tmp</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>127.0.0.1</value>
</property>
<!-- <property>
<name>hbase.zookeeper.property.dataDir</name>
<value>D:/Programs/hbase-1.4.12/hbase/zoo</value>
</property>
-->
</configuration>
修改HBase下的conf/hbase-env.cmd
@rem The java implementation to use. Java 1.8+ required.
set JAVA_HOME=D:\Programs\Java
@rem Tell HBase whether it should manage it's own instance of Zookeeper or not.
set HBASE_MANAGES_ZK=true
3.启动
在bin下执行start-hbase.cmd,启动HBase。
PS D:\Programs\hadoop-2.7.4\sbin> ..\..\hbase-1.4.12\bin\start-hbase.cmd
执行hbase shell打开HBase的shell命令行