Hadoop安装——启动模式,基本配置,启动方式
2017-11-01 10:08
441 查看
推荐直接看官方文档
2. 配置etc/hadoop/hdfs-site.xml:
3. Format the filesystem:
4. Start NameNode daemon and DataNode daemon:
5.浏览器访问:http://localhost:50070,查看hdf
我使用的时centos7操作系统,发现防火墙已经关闭,但是不能够访问50070端口,于是在
6.创建hdfs文件目录:
7.命令行查看hdfs文件系统目录结构:
8.上传文件到hdfs文件系统(下载的命令为get,查看为cat)
9.运行
10.查看运行结果
此时运行的结果和本地启动时运行的结果相同,不同的是输入的数据源一个是在本地,一个是在hdfs文件系统中。当在etc/hadoop/core-site.xml中配置文件系统时,去寻找配置的文件系统,当没有进行配置,默认会去寻找本地文件系统(file:///)。
2.配置etc/hadoop/yarn-site.xml:
3.在etc/hadoop/slaves文件中配datanode和nodemamager所在主机的主机名或ip(默认datanode和nodemanager在同一台主机上)
4.启动yarn
5.浏览器查看yarn的监控界面:8088
6.进行将mapreduce程序运行在yarn上的配置.
(1)配置etc/hadoop/mapred-env.sh中的JAVA_HOME
(2)重命名mapred-site.xml.template为mapred-site.xml并配置etc/hadoop/mapred-site.xml
7.运行程序
8.查看运行结果
此时的运行结果不变,不同的是之前的mapreduce程序运行在本地,此时的mapreduce程序运行在yarn上 。
配置yarn日志的聚集
聚集:应用运行完成以后,将日志信息上传到HDFS文件系统中
在etc/hdoop/yarn-site.xml
配置完成后需要将resourcemanager和mapreduce历史任务进行重启才会生效
自定义配置文件,在etc/hadoop
每次启动程序的时候,系统会首先加载jar包,读取jar包中的默认配置,之后才会读取用户自定义配置,用户自定义配置会覆盖默认配置。
一般在配置的时候,会在官方文档和默认配置文件中查找配置信息,默认配置中会有对配置属性的描述。
yarn
mapreduce
yarn
mapreduce
分模块启动,他的启动方式是:启动命令在主结点上运行,然后通过ssh协议去链接自己和相关将要启动的从结点,从而逐个启动。使用ssh协议时每次都需要输入密码。所以需要配置ssh无密钥登陆。
配置无密钥登陆:(客户端生成公钥和私钥,将公钥给交给链接的机器)
(1) 客户端生成密钥。
进入到用户的主目录下的.ssh目录中
使用命令:ssh-keygen -t rsa,回车4下
(2) copy公钥
使用命令ssh-copy-id hostname(将要拷贝到的机器的hostname)就会将公钥拷贝到所有的用户名相同的主机上的.ssh目录下authorized_key。
此方式不推荐,此方式要求namenode和resourcemanager在相同的主机上,因为在实际的环境中,namenode和resourcemanager在不同的主机上。
slaves文件中指定的是datanode和noderesource所在的主机
secondarynamenode结点通过在hdfs-site.xml中通过以下属性进行指定,默认就是本机
resourcemanager所在的主机,在yarn-site.xml
MapReduce HistoryServer在mapred-site.xml中,默认是本机
编译可以看源码包下的BUILDING.txt文件
Hadoop三种启动模式
Local (Standalone) Mode Pseudo-Distributed Mode Fully-Distributed Mode
Standalone Operation
$ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar grep input output 'dfs[a-z.]+' $ cat output/*
Pseudo-Distributed Operation
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. Format the filesystem:
bin/hdfs namenode -format
4. Start NameNode daemon and DataNode daemon:
sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode
5.浏览器访问:http://localhost:50070,查看hdf
我使用的时centos7操作系统,发现防火墙已经关闭,但是不能够访问50070端口,于是在
etc/hodoop/hdfs-site.xml中手动配置hdfs地址,最终可以访问
<property> <name>dfs.http.address</name> <value>localhost:50070</value> </property>
6.创建hdfs文件目录:
bin/hdfs dfs -mkdir -p /user/bxp/mapreduce/wordcount/input
7.命令行查看hdfs文件系统目录结构:
bin/hdfs dfs -ls -R /
8.上传文件到hdfs文件系统(下载的命令为get,查看为cat)
bin/hdfs dfs -put input/test /user/bxp/mapreduce/wordcount/input
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_HOME2.配置etc/hadoop/yarn-site.xml:
配置yarn上运行mapreduce <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> 配置resourcemanager所在主机地址 <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上的配置.
(1)配置etc/hadoop/mapred-env.sh中的JAVA_HOME
(2)重命名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>
7.运行程序
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /user/bxp/mapreduce/wordcount/input /user/bxp/mapreduce/wordcount/output
8.查看运行结果
bin/hdfs dfs -cat /user/bxp/mapreduce/wordcount/output/part-r-00000
此时的运行结果不变,不同的是之前的mapreduce程序运行在本地,此时的mapreduce程序运行在yarn上 。
配置并启动mapreduce历史服务器
启动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启动的三种方式
1.各个服务组建逐个启动
hdfshadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
yarn
yarn-daemon.sh start|stop resourcemanager|nodemanager
mapreduce
mr-jobhistory-daemon.sh start|stop historyserver
2.各个模块分开启动
hdfsstart-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。
3.一起启动
start-all.sh stop-all.sh
此方式不推荐,此方式要求namenode和resourcemanager在相同的主机上,因为在实际的环境中,namenode和resourcemanager在不同的主机上。
细节回顾
namenode所在主机通过etc/hadoop/core-site.xml中指定<property> <name>fs.defaultFS</name> <value>hdfs://bxp:8020</value> </property>
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文件
相关文章推荐
- Hadoop环境搭建之一安装jdk,hadoop基本配置及运行MapReduce案例在本地模式下
- Hadoop的完全分布模式配置——以普通用户'hadoop'启动
- HBase入门笔记(三)-- 完全分布模式Hadoop集群安装配置
- fedora18安装hadoop配置伪分布模式
- Ubuntu下伪分布式模式Hadoop的安装及配置
- 完全分布模式hadoop集群安装配置之二 添加新节点组成分布式集群
- hadoop2.2.0 的安装和基本配置
- hadoop伪分布下的sqoop基本安装配置
- Hadoop完全分布式模式的安装和配置
- Centos6.5基本环境以及jdk1.7安装配置(hadoop平台)
- hadoop完全分布式模式的安装和配置
- HBase入门笔记(三)-- 完全分布模式Hadoop集群安装配置
- memcached的基本命令(安装、卸载、启动、配置相关)
- hadoop的安装与配置(伪分布式模式安装)
- 完全分布模式hadoop集群安装配置之二 添加新节点组成分布式集群
- 完全分布模式hadoop集群安装配置之一安装第一个节点
- hadoop安装与配置(完全分布模式)
- Hadoop笔记之安装及伪分布式模式配置
- Hadoop伪分布式模式的安装和配置
- memcached的基本命令(安装、卸载、启动、配置相关)