Hadoop启动模式,基本配置,启动方式

Local (Standalone) Model

MapReduce程序运行在本地,启动jvm
启动本地模式:
1、配置hadoop-env.sh配置文件中的java_home路径
2、在hadoop安装目录下:mkdir input
3、在input目录下创建任意文件
4、统计input文件夹下所有文件中的单词的数量:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount input output

Pseudo-Distributed Mode

1、配置etc/hadoop/core-site.xml:

##配置namenode所在主机
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://bxp:8020</value>
    </property>
</configuration>
##配置文件临时目录
<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/lib/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
    </property>
</configuration>

2、配置etc/hadoop/hdfs-site.xml:

##配置文件备份数量
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

3、格式化文件系统
bin/hdfs namenode -format
4、启动namenode
sbin/hadoop-daemon.sh start namenode
4、启动datanode
sbin/hadoop-daemon.sh start datanode
5、浏览器访问:http://bxp:50070,查看hdfs
6、命令行创建hdfs文件目录:bin/hdfs dfs -mkdir -p /user/bxp/mapreduce/wordcount/input
7、命令行查看hdfs文件系统目录结构:bin/hdfs dfs -ls -R /
8、上传文件到hdfs文件系统:bin/hdfs dfs -put input/test /user/bxp/mapreduce/wordcount/input(下载的命令为get,查看为cat)
9、运行
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount /user/bxp/mapreduce/wordcount/input /user/bxp/mapreduce/wordcount/output
10、查看运行结果:
bin/hdfs dfs -cat /user/bxp/mapreduce/wordcount/output/part-r-00000
此时运行的结果和本地启动时运行的结果相同,不同的是输入的数据源一个是在本地,一个是在hdfs文件系统中。当在etc/hadoop/core-site.xml中配置文件系统时,回去寻找文件系统,当没有进行配置,默认会去寻找本地文件系统(file:///):

YARN on Single Node

1、在etc/hadoop/yarn-env.sh中配置JAVA_HOME
2、配置etc/hadoop/yarn-site.xml:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

  <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
</configuration>

3、在etc/hadoop/slaves文件中配datanode和nodemamager所在主机的主机名或ip(默认datanode和nodemanager在同一台主机上)
localhost
4、启动yarn
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
5、浏览器查看yarn的监控界面:8088
6、接下来进行将mapreduce程序运行在yarn上的配置.
7、配置etc/hadoop/mapred-env.sh中的JAVA_HOME
8、重命名mapred-site.xml.template为mapred-site.xml并配置etc/hadoop/mapred-site.xml

##将mapreduce运行在yarn上,默认值是local
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

9、运行
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount /user/bxp/mapreduce/wordcount/input /user/bxp/mapreduce/wordcount/output
10、查看运行结果:
bin/hdfs dfs -cat /user/bxp/mapreduce/wordcount/output/part-r-00000
此时的运行结果不变,不同的是之前的mapreduce程序运行在本地,此时的mapreduce程序运行在yarn上

Fully-Distributed Mode

启动mapreduce历史服务器

sbin/mr-jobhistory-daemon.sh start historyserver

配置yarn日志的聚集

聚集:应用运行完成以后,将日志信息上传到HDFS文件系统中
在etc/hdoop/yarn-site.xml中增加属性

###配置日志聚集
<property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
</property>
###配置日志在文件系统中存放的秒数(604800为7天)
<property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>

配置完成后需要将resourcemanager和mapreduce历史任务进行重启才会生效
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/mr-jobhistory-daemon.sh stop historyserver

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver

Hadoop配置文件

  • 默认配置文件,在share/hadoop四个模块相对应的jar包中
    core-default.xml
    hdfs-default.xml
    yarn-default.xml
    mapred-default.xml
  • 自定义配置文件,在etc/hadoop
    core-site.xml
    hdfs-site.xml
    yarn-site.xml
    mapred-site.xml
    每次启动程序的时候,系统会首先加载jar包,读取jar包中的默认配置,之后才会读取用户自定义配置,用户自定义配置会覆盖默认配置。
    一般在配置的时候,会在官方文档和默认配置文件中查找配置信息,默认配置中会有对配置属性的描述。

配置HDFS垃圾回收时间(分钟)

在core-site.xml配置文件中进行增加属性

<property>
         <name>fs.trash.interval</name>
         <value>7*24*60</value>
</property>

hadoop启动的三种方式

  • 各个服务组建逐个启动
  • hdfs
    hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
  • yarn
    yarn-daemon.sh start|stop resourcemanager|nodemanager
  • mapreduce
    mr-jobhistory-daemon.sh start|stop historyserver
  • 各个模块分开启动
  • hdfs
    start-dfs.sh
    stop-dfs.sh
  • yarn
    start-yarn.sh
    stop-yarn.sh
  • mapreduce
    mr-historyserver-daemon.sh start|stop historyserver
    分模块启动,他的启动方式是:启动命令在主结点上运行,然后通过ssh协议去链接自己和相关将要启动的从结点,从而逐个启动。使用ssh协议时每次都需要输入密码。所以需要配置ssh无密钥登陆。
    配置无密钥登陆:(客户端生成公钥和私钥,将公钥给将要链接的机器)
    1、客户端生成密钥。
    进入到用户的主目录下的.ssh目录中
    使用命令:ssh-keygen -t rsa,回车4下
    2、copy公钥
    使用命令ssh-copy-id hostname(将要拷贝到的机器的hostname)就会将公钥拷贝到所有的主机名相同的主机上的.ssh目录下authorized_key。
  • 全部启动
  • start -all
  • stop-all
    此方式不推荐,此方式要求namenode和resourcemanager在相同的主机上,因为在实际的环境中,namenode和resourcemanager在不同的主机上。

细节回顾

  • namenode所在主机通过etc/hadoop/core-site.xml中
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://bxp:8020</value>
   </property>
指定了HDFS文件系统,其中主机代表的就是namenode所在的主机。
  • slaves文件中指定的是datanode和noderesource所在的主机
  • secondarynamenode结点通过在hdfs-site.xml中通过以下属性进行指定,默认就是本机
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>0.0.0.0:50090</value>
</property>
  • resourcemanager所在的主机,在yarn-site.xml
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
  </property>
  • MapReduce HistoryServer
    在mapred-site.xml中,默认是本机
<property>
  <name>mapreduce.jobhistory.address</name>
  <value>0.0.0.0:10020</value>
</property>
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>0.0.0.0:19888</value>
</property>

问题

每次运行bin/hdfs dfs都会出现警告WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable。原因是hadoop的lib/native本地库和系统所使用的本地库不对应,要想去掉警告,需要下载hadoop的源码在本地进行编译,并替换native即可。
编译可以看源码包下的BUILDING.txt文件

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

推荐阅读更多精彩内容