搭建Hadoop的环境

安装Hadoop环境之前需要做一些准备工作,比如:安装Linux、JDK、关闭防火墙、配置主机名、配置免密码登录、了解Hadoop目录结构等。搭建Hadoop环境有三种模式:本地模式、伪分布模式和全分布模式。

一、准备工作

1.安装Linux、JDK、关闭防火墙、配置主机名

安装Linux参考这篇文章:<a href="https://www.chenchuan.net/doc/1539.html" target="_blank" title="在VMware安装RedHat Linux 7">https://www.chenchuan.net/doc/1539.html</a>
安装JDK参考这篇文章:<a href="https://www.chenchuan.net/doc/1541.html" target="_blank" title="在RedHat Linux 7安装JDK">https://www.chenchuan.net/doc/1541.html</a>
关闭防火墙:

  • systemctl status firewalld.service
  • systemctl stop firewalld.service ---> 如果重启,会重启防火墙
  • systemctl disable firewalld.service ---> 永久关闭防火墙

输入systemctl status firewalld.service查看防火墙状态


查看防火墙状态

这里显示inactive说明防火墙关闭成功
配置主机名和IP的对应关系:
编辑配置文件vi /etc/hosts添加192.168.0.111 bigdata111
输入more /etc/hosts命令查看配置


查看配置

2.Hadoop的目录结构

首先下载Hadoop安装包,Hadoop安装包可以从官网下载,官网下载地址:<a href="http://hadoop.apache.org/releases.html" title="Hadoop官网下载" target="_blank">http://hadoop.apache.org/releases.html</a>,本站提供一个hadoop-2.7.3.tar.gz下载,下载地址:更新中。。。
然后将下载下来的安装包上传到Linux的tools目录,使用tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/解压
Hadoop的目录结构如下:


Hadoop的目录结构

3.设置Hadoop环境变量

解压好Hadoop后需设置环境变量才可以使用,使用命令vi ~/.bash_profile进入环境变量设置

HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

使用source ~/.bash_profile命令让Hadoop环境变量生效,start后连续按两次tab键,出现如下界面表示Hadoop环境变量设置成功


设置Hadoop环境变量

二、本地模式

1.特点

没有HDFS、只能测试MapReduce程序,因为本地模式没有HDFS,所以MapReduce处理的是本地Linux的文件数据

2.本地模式配置参数

配置本地模式

在hadoop-env.sh中配置JDK的根目录,输入vi hadoop-env.sh命令进入编辑export JAVA_HOME=/root/training/jdk1.8.0_144,如果是haddop-2.7.3默认在第25行。

3.测试MapReduce程序

创建目录:mkdir ~/input
在~/input目录中创建一个data.txt文件,输入文本

I love Beijing
I love China
Beijing is the capital of China

运行:
首先进入cd ~/training/hadoop-2.7.3/share/hadoop/mapreduce/目录
然后输入hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/input/data.txt /output运行,这个/output输出目录不能事先存在
进入cd ~/output/目录查看目录下的part-r-00000文件,如果出现如下结果表示MapReduce程序测试成功

测试MapReduce程序

三、伪分布模式

1.特点

是在单机上,模拟一个分布式的环境,具备Hadoop的主要功能,安装好伪分布模式后由HDFS和Yarn两部分组成,HDFS:namenode+datanode+secondarynamenode,Yarn: resourcemanager + nodemanager`

2.伪分布模式配置参数

伪分布模式配置参数

3.配置

hdfs-site.xml

<!--
表示数据块的冗余度,默认:3
原则:一般数据块的冗余度跟数据节点(DataNode)的个数一致;最大不超过3
-->
<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>

<!--是否开启HDFS的权限检查,默认true-->
<property>
   <name>dfs.permissions</name>
   <value>false</value>
</property>

core-site.xml

<!--配置NameNode地址,9000是RPC通信端口-->
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://bigdata111:9000</value>
</property>

<!--
HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录
/root/training/hadoop-2.7.3/tmp 这个目录要先建立好
-->
<property>
   <name>hadoop.tmp.dir</name>
   <value>/root/training/hadoop-2.7.3/tmp</value>
</property>

mapred-site.xml:默认没有这个文件,可以复制同目录下的mapred-site.xml.template,命令:cp mapred-site.xml.template mapred-site.xml

<!--MR运行的框架-->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

yarn-site.xml

<!--Yarn的主节点RM的位置-->
<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata111</value>
</property>

<!--MapReduce运行方式:shuffle洗牌-->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

4.格式化HDFS(NameNode)

使用hdfs namenode -format命令格式化HDFS(NameNode)
输出如下日志说明格式化成功:Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.


格式化HDFS(NameNode)

5.启动与停止

启动:start-all.sh
停止:stop-all.sh
启动和停止的时候都会提示让输入四次密码


Hadoop启动与停止

启动成功后通过jps查看到这五部分安装到一台主机上的


伪分布模式五部分

6.访问

通过Web界面访问

  • HDFS: http://192.168.0.111:50070
  • Yarn: http://192.168.0.111:8088

若访问出现如下界面表示Hadoop伪分布模式配置成功


HDFS

Yarn

四、配置免密码登录

1.原理

基本原理:采用不对称加密的算法,如果Server A要登录到Server B上,由Server A产生一个密钥对,其中包含公钥和私钥,把Server A产生的公钥给Server B。当Server A登录到Server B的时候由Server B随机产生一个字符串,使用Server A给的公钥进行加密生成一个加密字符串,然后把这个加密字符串发送给Server A,当Server A收到Server B发来的加密字符串的时候使用自己的私钥进行解密得到Server B加密之前的字符串发回给Server B。Server B收到Server A发来的解密字符串进行对比,如果一样就直接登录,否则让输入密码。
原理图:

免密码登录原理

2.配置

比如有一个主机(myhost01)要登录到bigdata111上要配置免密码登录,

  • 在myhost01上使用ssh-keygen -t rsa生成密钥对,
  • 使用命令ssh-copy-id -i .ssh/id_rsa.pub root@bigdata111把myhost01上产生的公钥拷贝到bigdata111

这样就配置完成了,在myhost01上使用命令ssh bigdata111连接


免密码连接

发现不用密码就可以连接,这样上面伪分布模式启动和停止都需要输入密码,现在配置了免密码登录就不需要输入密码了。


免密码启动Hadoop

从上图可以看出不需要密码就可以启动Hadoop了。

五、全分布模式

1.特点

真正的分布式环境,用于生产,至少需要三台主机

2.规划及准备工作

搭建Hadoop全分布模式需要三台主机,这里用bigdata112/bigdata113/bigdata114这三台,bigdata112做主节点,bigdata113和bigdata114做从节点
规划示意图

Hadoop全分布模式

搭建Hadoop全分布模式跟为分布模式一样需要关闭防火墙、安装JDK、配置主机名和配置免密码登录,三台主机时间同步。关闭防火墙和安装JDK跟第一点的准备工作一样,不同的是这里配置主机名和免密码登录需要写上每一台主机的IP和私钥
配置主机名
在每台主机输入vi /etx/hosts命令添加三台主机ip及名称

192.168.0.112 bigdata112
192.168.0.113 bigdata113
192.168.0.114 bigdata114

配置免密码登录
三台主机配置免密码登录需要两两之间的免密码登录,所以每台主机都要拷贝公钥,每台主机都要使用ssh-keygen -t rsa产生自己的公钥和私钥。每台机器都要把自己的公钥拷贝给这三台每一台主机

ssh-copy-id -i .ssh/id_rsa.pub root@bigdata112
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata113
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata114

三台主机时间同步
做全分布模式需要三台主机时间同步,不然执行MapReduce可能会出错。要保证三台主机时间同步方法有很多,比如:搭建一台时间服务器、跟互联网时间同步、用工具执行同时修改时间等。

3.安装

在主节点上(bigdata112)安装,然后复制到bigdata113和bigdata114
解压设置环境变量
使用命令tar -zxvf hadoop-2.7.3.tar.gz -C /training/解压Hadoop安装包,在/.bash_profile中设置192.168.0.112/113/114环境变量

HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

使用source ~/.bash_profile命令让Hadoop环境变量生效
修改配置文件
全分布模式需要修改如下配置

全分布模式配置参数

hadoop-env.sh
在hadoop-env.sh中配置JDK的根目录,输入vi hadoop-env.sh命令进入编辑export JAVA_HOME=/root/training/jdk1.8.0_144,如果是haddop-2.7.3默认在第25行。
hdfs-site.xml

<!--表示数据块的冗余度,默认:3-->
<property>
   <name>dfs.replication</name>
   <value>2</value>
</property>

core-site.xml

<!--配置NameNode地址,9000是RPC通信端口-->
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://bigdata112:9000</value>
</property>

<!--HDFS数据保存在Linux的哪个目录,默认值是Linux的tmp目录-->
<property>
   <name>hadoop.tmp.dir</name>
   <value>/root/training/hadoop-2.7.3/tmp</value>
</property>

mapred-site.xml
默认没有mapred-site.xml需要通过cp mapred-site.xml.template mapred-site.xml命令复制一个

<!--MR运行的框架-->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

yarn-site.xml

<!--Yarn的主节点RM的位置-->
<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata112</value>
</property>

<!--MapReduce运行方式:shuffle洗牌-->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

slaves

bigdata113
bigdata114

格式化NameNode
在使用之前需要先格式化NameNode,使用命令hdfs namenode -format格式化
复制到从节点上
把主节点上配置好的hadoop复制到从节点上

scp -r hadoop-2.7.3/ root@bigdata113:/root/training
scp -r hadoop-2.7.3/ root@bigdata114:/root/training

启动
在主节点上启动start-all.sh
验证
启动成功后在浏览器中输入

  • http://192.168.0.112:50070
  • http://192.168.0.112:8088

如果都能访问说明环境搭建成功。

原文地址:https://www.chenchuan.net/doc/1545.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,029评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,395评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,570评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,535评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,650评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,850评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,006评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,747评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,207评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,536评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,683评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,342评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,964评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,772评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,004评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,401评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,566评论 2 349

推荐阅读更多精彩内容

  • 终极算法 关注微信号每天收听我们的消息终极算法为您推送精品阅读 前言 Hadoop 在大数据技术体系中的地位至关...
    Yespon阅读 129,764评论 12 168
  • 一、系统参数配置优化 1、系统内核参数优化配置 修改文件/etc/sysctl.conf,添加如下配置,然后执行s...
    张伟科阅读 3,725评论 0 14
  • 看到题目有没有一种高大上的感觉?毛线,当前是个人、是个公司都在说自己搞大数据,每天没有几个PB的数据入库,每天没有...
    丁小晶的晶小丁阅读 4,454评论 0 50
  • 经过一系列的前期环境准备,现在可以开始Hadoop的安装了,在这里去apache官网下载2.7.3的版本http:...
    欢醉阅读 1,657评论 8 28
  • 文 | 晨妤儿 小女子今生 何德何能 与浮尘抗衡苦难 笑看浮生空自忙 夜夜梦一场 前尘的灾殃,今日的苦 是祸,是苦...
    晨妤儿阅读 94评论 0 3