type
status
date
slug
summary
tags
category
icon
password
Hadoop,HBase的安装与配置
📝 Hadoop
一、安装Hadoop HDFS
- 从 http://archive.apache.org/dist/hadoop/core/ 下载Hadoop-3.0.0,下载二进制压缩包文件:hadoop-3.0.0.tar.gz (下载速度巨慢,建议用点科技)
- 从 https://github.com/steveloughran/winutils 下载针对Windows环境的Hadoop修正程序winutils(Hadoop-3.0.0对应路径 https://github.com/steveloughran /winutils /tree /master/hadoop-3.0.0) 。如果不会用Git工具下载,可以直接下载打包文件https://github.com/steveloughran/winutils/archive/master.zip,然后解压。
- 确保自己的计算机上已经正确安装了JDK 1.8以上的Java开发和运行环境。(可以通过在命令行方式下运行java –version命令进行验证)
- 将hadoop-3.0.0.tar.gz解压至D:\Hadoop子目录(可以根据自己喜好更改Hadoop安装目录)。
注:不能直接用解压工具解压,会报错。应在搜索中搜索cmd,然后右键点击 命令提示符 应用以管理员身份运行。
然后将Hadoop解压,输入:tar zxvf hadoop-3.3.4.tar.gz 解压命令完成解压。
- 新增环境变量HADOOP_HOME(作为系统变量),并将其值设为“D:\Hadoop\hadoop-3.0.0”。(设置方法:进入“控制面板\系统和安全\系统”,然后点击“高级系统设置”,然后点击“环境变量(N)..”按钮)(可以在命令行窗口中利用命令“echo %HADOOP_HOME%”查看设置是否正确)
- 观察JAVA_HOME变量设置是否正确。(本人计算机上的JAVA_HOME被设置为C:\Program Files\Java\jdk-1.8)(可以在命令行窗口中利用命令“echo % JAVA_HOME%”查看设置是否正确)
- 将“D:\Hadoop\hadoop-3.0.0\bin”和“D:\Hadoop\hadoop-3.0.0\sbin”路径添加到Path环境变量(作为系统变量)。也可在 Path 环境变量中 , 增加 %HADOOP_HOME%\bin %HADOOP_HOME%\sbin
- 将如下内容粘贴到D:\Hadoop\hadoop-3.0.0\etc\hadoop\core-site.xml文件:
注意是将两个configuration之间的内容粘贴到原文件的两个configuration之间
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
- 用命令“hadoop fs –cat /output/part-r-00000”查看WordCount任务的执行结果。
</configuration>
- 在D:\Hadoop\hadoop-3.0.0\data路径下创建“namenode”子目录;在D:\Hadoop\hadoop-3.0.0\data路径下创建“datanode”子目录。
- 将如下内容粘贴到D:\Hadoop\hadoop-3.0.0\etc\hadoop\hdfs-site.xml文件:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///D:/Hadoop/hadoop-3.0.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///D:/Hadoop/hadoop-3.0.0/data/datanode</value>
</property>
</configuration>
- 编辑文件D:\Hadoop\hadoop-3.0.0\etc\hadoop\hadoop-env.cmd,将语句:“set JAVA_HOME=%JAVA_HOME%”
修改为“set JAVA_HOME=C:\PROGRA~1\Java\jdk-1.8”。
(注意:此处有坑。如果将hadoop-env.cmd中的JAVA_HOME设置为“C:\Program Files\Java\jdk-1.8”,将会出错,因为路径中不能含有空格。)
12.D:\Hadoop\hadoop-3.0.0\bin目录下的内容删除。
- 将第2步下载的“winutils-master.zip”解压,然后将解压文件中“..\winutils-master\hadoop-3.0.0\bin”目录下的内容拷贝到“D:\Hadoop\hadoop-3.0.0\bin”目录。
二、检验Hadoop 是否安装成功
经过前面13步,Hadoop安装结束。
运行如下命令测试Hadoop是否可以正常运行:
- 运行命令“hdfs namenode –format”,先对HDFS分布式文件系统进行格式化。
- 进入“D:\Hadoop\hadoop-3.0.0\sbin”目录运行命令“start-dfs”。如果一切正常,将会启动一个“hdfs namenode”进程和一个“hdfs datanode”进程,构成了只有1个主节点和1个从节点的“HDFS分布式文件系统集群”。可以通过“http://localhost:9870”监控HDFS系统。(用jps命令可以查看所有jvm相关的进程)
- HDFS分布式文件系正常启动之后,可以用“hadoop fs”或“hdfs dfs”命令在分布式文件系统中实现“浏览目录”、“创建子目录”、“删除子目录”、“创建文件”、“拷贝文件”、“移动子目录或文件”、“查看文件内容”、“删除文件”、“上传本地文件”等操作。
- http://localhost:9870工具中在“utilities”菜单下有一个“Browse the File System”工具,可以浏览、操作HDFS分布式文件系统。
- 进入“D:\Hadoop\hadoop-3.0.0\sbin”目录运行命令“stop-dfs”,关闭HDFS分布式文件系统。
三、设定MapReduce运行框架
1.将如下内容粘贴到C:\Hadoop\etc\hadoop\mapred-site.xml文件:
(注意是将两个configuration之间的内容粘贴到原文件的两个configuration之间。)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.将如下内容粘贴到C:\Hadoop\etc\hadoop\yarn-site.xml文件:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
四、运行MapReduce任务
注意:以下操作必须以管理员身份执行。(变量HADOOP_HOME作为系统变量设置正确。)
- 进入“D:\Hadoop\hadoop-3.0.0\sbin”目录运行命令“start-all”。如果一切正常,将会启动一个“hdfs namenode”进程、一个“hdfs datanode”进程、一个“yarn resourcemanager”进程,一个“yarn nodemanager”进程。
- 打开浏览器,输入URL:“http://localhost:8088/”,可以看到MapReduce框架的资源调度管理中心节点软件resourcemanager提供的Web监控页面。通过该页面可以查看现在正在运行的MapReduce任务的运行状态,可以查看成功或失败了的MapReduce任务信息。
- 用“hadoop fs –mkdir /input”命令在HDFS中创建“/input”子目录。
- 用“hadoop fs –put c:\source\input_file.txt /input”命令把本地文件系统中的“c:\source\input_file.txt”文件上传到HDFS的“/input”子目录。txt文件将作为WordCount MapReduce任务的输入文件。
input_file.txt文件内容如下:
- 用命令“yarn jar c:\source\mrtest.jar WordCount /input /output”命令启动MapReduce任务。任务执行成功后到“/output”目录下查找执行结果文件。
- 用命令“hadoop fs –cat /output/part-r-00000”查看WordCount任务的执行结果。
📝 HBase
一、安装HBase
在已经将HDFS安装成功的情况下,可以按照如下步骤进一步安装HBase。
- 到HBase的官网(https://hbase.apache.org/)下载已编译好(bin格式)的2.4(教育网可从镜像https://mirror.bit.edu.cn/apache/hbase/2.2.4/hbase-2.2.4-bin.tar.gz下载)。
- 将下载的hbase-2.2.4-bin.tar.gz解压至D:\HBase子目录(可以根据自己喜好更改HBase安装目录)
- 新增环境变量HBASE_HOME(作为系统变量),并将其值设为“D:\HBase\hbase-2.2.4\bin”;新增环境变量HBASE_BIN_PATH,并将其值设为“D:\HBase\hbase-2.2.4\bin”。(另外,HBase运行还依赖环境变量HADOOP_HOME的正确设置。可以用“echo % HADOOP_HOME%”命令查看设置是否正确。)
- 修改配置文件D:\HBase\hbase-2.2.4\conf\hbase-env.cmd,为HBase设置正确的JDK主目录参数。具体方法:在语句“@rem set JAVA_HOME=c:\apps\java”的下一行增加语句“set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_192”。注意这里JAVA_HOME的具体设置要和自己计算机安装JDK的路径相匹配。
- 将D:\HBase\hbase-2.2.4\conf\ hbase-site.xml修改为如下内容:
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>tmp</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
- 在D:\HBase\hbase-2.2.4目录下新建“D:\HBase\hbase-2.2.4\tmp”目录。(HBase内嵌的ZooKeeper会用到该目录。)
- 将下载的jansi-1.18.jar文件拷贝到D:\HBase\hbase-2.2.4\lib目录。(否则,在运行“hbase shell”命令时会报错,但该错误不会影响hbase shell的正常功能。)
二、运行HBase
- 在命令行方式下先用“start-dfs”命令启动HDFS系统。
- 等待HDFS启动成功之后,将当前目录切换到“D:\HBase\hbase-2.2.4\bin”目录。下面的 命令都假定当前目录为“D:\HBase\hbase-2.2.4\bin”。
- 运行命令“start-hbase”启动HBase系统。(耐心等待,正常情况下会弹出另外一个窗口,该窗口对应HBase的HMaster进程)。
- 运行jps命令,发现多了一个HMaster进程。
- 等待HBase启动成功之后(运行jps命令,发现多了),运行“hbase shell”命令进入HBase系统提供的shell工具。
- 在hbase shell工具交互模式下,进行如下创建数据表、插入记录、查询记录和删除数据表的操作。
- 在浏览器中输入URL: http://localhost:16010/可以基于Web方式监控HBase系统的运行。
- 利用Hadoop HDFS的“hadoop fs –ls /user/llh/tmp/hbase”命令观察HBase在HDFS文件系统中存放的数据文件。(注意llh是用户名,你的系统中是你的登录用户名)。
- 从hbase shell工具退出后,利用“stop-hbase”命令关闭HBase系统。
🤗 总结归纳
Hadoop和HBase的安装与配置相对来说还是比较繁琐的,有些地方没注意到就可能掉进大坑,所以安装、配置时还请多查查资料,细心完成任务!
- Author:XZY
- URL:https://xzy-blog.top/article/Hadoop%20and%20HBase
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!