【大数据】Hadoop环境构建

■ 安装步骤

||▶ 创建文件夹:
sudo mkdir /opt/module
sudo mkdir /opt/software
||▶ 下载hadoop-2.7.2.tar.gz,并上传至/opt/software/目录
||▶ 解压:tar -zxvf /opt/software/hadoop-2.7.2.tar.gz -C /opt/module/
查看解压是否成功:ls /opt/module/hadoop-2.7.2
||▶ 将Hadoop添加到环境变量:sudo vi /etc/profile
文末添加

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

||▶ 重载配置:source /etc/profile
||▶ 测试安装:hadoop version


■ 目录结构

ll /opt/module/hadoop-2.7.2


▪ bin目录:存放Hadoop相关服务(HDFS,YARN)脚本
▪ etc目录:Hadoop配置文件目录
▪ lib目录:Hadoop的本地库(对数据进行压缩解压缩功能)
▪ sbin目录:存放启动或停止Hadoop相关服务的脚本
▪ share目录:存放Hadoop的依赖jar包、文档、和官方案例


■ Hadoop本地运行模式

一、官方Grep案例
||▶ 新建目录:mkdir /opt/module/hadoop-2.7.2/input
||▶ 复制Hadoop的xml配置文件:cp /opt/module/hadoop-2.7.2/etc/hadoop/*.xml /opt/module/hadoop-2.7.2/input
||▶ 执行share目录下的MR程序:/opt/module/hadoop-2.7.2/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
备注:
1)输出文件夹out,一定要是一个不存在的文件夹
2)执行的主类名称为grep
||▶ 查看输出结果:cat /opt/module/hadoop-2.7.2/output/*

二、官方WordCount案例
||▶ 新建目录:mkdir /opt/module/hadoop-2.7.2/wcinput
||▶ 编辑输入文件:vim /opt/module/hadoop-2.7.2/wcinput/wc.input

hadoop yarn
hadoop mapreduce
harry
harry

||▶ 执行share目录下的MR程序:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
备注:
1)输出文件夹out,一定要是一个不存在的文件夹
2)执行的主类名称为wordcount
||▶ 查看输出结果:cat /opt/module/hadoop-2.7.2/wcoutput/part-r-00000


■ Hadoop伪分布式运行模式

只有一个节点的分布式,Hadoop的所有角色依赖于一个节点

一、配置、启动HDFS

||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml

<configuration>
    <!-- 指定HDFS中NameNode的地址,指定默认的FS为HDFS,不配置则默认为本地FS -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://iZwz94euuu9omin7e32ysnZ:9000</value>   
    </property>

     <!-- 指定Hadoop运行时产生文件的存储目录,如NN、DN产生的数据 -->
     <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-2.7.2/data/tmp</value>   
    </property>
</configuration>

||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/hdfs-site.xml

<configuration>
    <!-- 指定HDFS副本的数量,单一节点至多存储1副本 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

||▶ 格式化NameNode(仅第一次启动时格式化,以后不要总格式化!):
/opt/module/hadoop-2.7.2/bin/hdfs namenode -format


备注:
格式化NN会产生新的集群id,导致NN和DN的集群id不一致,集群找不到以往数据。所以,格式NN时,一定要先删除data数据和log日志,再格式。
||▶ 启动NameNode:/opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start namenode
||▶ 启动DataNode:/opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start datanode
||▶ 查看是否启动成功:jps

||▶ web端查看HDFS

说明:
9000是RPC端口
50070是HTTP端口
||▶ 查看产生的Log日志:ls /opt/module/hadoop-2.7.2/logs

||▶ 在HDFS上创建input文件夹:/opt/module/hadoop-2.7.2/bin/hdfs dfs -mkdir -p /user/harry/input
||▶ 上传文件到HDFS:/opt/module/hadoop-2.7.2/bin/hdfs dfs -put /opt/module/hadoop-2.7.2/wcinput/wc.input /user/harry/input/
||▶ 查看上传的文件是否正确:
/opt/module/hadoop-2.7.2/bin/hdfs dfs -ls /user/harry/input/
/opt/module/hadoop-2.7.2/bin/hdfs dfs -cat /user/harry/input/wc.input

二、MP运行测试

||▶ 运行MR程序:/opt/module/hadoop-2.7.2/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/harry/input/ /user/harry/output
||▶ 命令行查看输出结果:/opt/module/hadoop-2.7.2/bin/hdfs dfs -cat /user/harry/output/*


||▶ 浏览器查看输出结果:

||▶ 将测试文件内容下载到服务器本地:hdfs dfs -get /user/harry/output/part-r-00000 /opt/module/hadoop-2.7.2/wcoutput/
备注:
要提前建好wcoutput目录,且目录为空
||▶ 查看内容:cat /opt/module/hadoop-2.7.2/wcoutput/part-r-00000

||▶ 删除输出结果:hdfs dfs -rm -r /user/harry/output

三、配置YARN

||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
    <!-- Reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定YARN的ResourceManager的地址,value为主机名 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>iZwz94euuu9omin7e32ysnZ</value>
    </property>
</configuration>

||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/mapred-env.sh

export JAVA_HOME=……

||▶ 重命名配置文件:mv /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml.template /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml
||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml

<configuration>
    <!-- 指定MR运行在YARN上 -->
    <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
    </property>
</configuration>

||▶ 启动集群

/opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start namenode
/opt/module/hadoop-2.7.2/sbin/hadoop-daemon.sh start datanode
/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start resourcemanager
/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start nodemanager

||▶ jps


||▶ Web端查看YARN

四、测试在YARN上运行MR

||▶ 删除HDFS的output文件:/opt/module/hadoop-2.7.2/bin/hdfs dfs -rm -R /user/harry/output
||▶ 执行MR程序:/opt/module/hadoop-2.7.2/bin/hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/harry/input /user/harry/output


||▶ 查看运行结果:/opt/module/hadoop-2.7.2/bin/hdfs dfs -cat /user/harry/output/*

说明
▪ 由于未配置历史服务器,点进History是无法访问的

五、配置历史服务器

||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>iZwz94euuu9omin7e32ysnZ:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>iZwz94euuu9omin7e32ysnZ:19888</value>
</property>

||▶ 启动历史服务器:/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver
||▶ jps


||▶ 查看JobHistory

六、配置日志聚集

应用运行完成后,自动将日志传至HDFS,以便查阅调试;
开启日志聚集功能,需重新启动NodeManager 、ResourceManager和HistoryManager
||▶ vim /opt/module/hadoop-2.7.2/etc/hadoop/yarn-site.xml

<!-- 日志聚集功能使能 -->
<property>
     <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

||▶ 重启NodeManager 、ResourceManager、HistoryServer

/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh stop resourcemanager
/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh stop nodemanager
/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh stop historyserver

/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start resourcemanager
/opt/module/hadoop-2.7.2/sbin/yarn-daemon.sh start nodemanager
/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver

||▶ 删除HDFS上已经存在的输出文件:/opt/module/hadoop-2.7.2/bin/hdfs dfs -rm -R /user/harry/output
||▶ 执行官方WordCount程序:hadoop jar /opt/module/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/harry/input /user/harry/output
||▶ 查看日志


job运行情况

查看日志

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

推荐阅读更多精彩内容