初识Hadoop
1、apache软件归档:archive.apache.org/dist/
2、HDFS ---->NAMENODE + DATANODE + SECONDER NAMENODE
3、YARN ---->Resource Manager ---->App Manager + Resource Scheduler
+ Node Manager ----->App Mstr + Container
4、MapReduce ---->离线批处理,启动开销大,过多使用磁盘导致效率低下
Map阶段并行处理输入数据
Reduce阶段对Map结果进行汇总
Shuffle连接两个阶段 ---->Map Task将数据写到本地磁盘,Reduce Task从每个Map Task上读取一份数据
5、安装jdk和hadoop
1)filezilla将压缩包上传至/opt/softwares
2)解压到/opt/modules
3)配置环境变量 vi /etc/profile
exprot JAVA_HOME=/opt/modules/jdk1.7.0_67
exprot PATH=$path:$JAVA_HOME/bin
4)source /etc/profile 保存
5)exit退出并重新登录
配置hadoop见hadoop.apache.org官方文档
6、三种运行模式
a.Local (Standalone) Mode MapReduce程序运行在本地,启动JVM
$ mkdir input //创建输入文件 $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar grep input output 'dfs[a-z.]+' //bin下有很多脚本,output文件夹必须不存在,该句将input中按格式统计并输出到output/part------
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount input wcoutput
//将input中的单词分类统计输出到wcoutput/part----中 $ cat output/* //查看结果
b.Pseudo-Distributed Operation 伪分布式
配置/opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml
配置fs.defaultFS,主机路径,端口8020
官方文档查看core默认参数,配置hadoop.tmp.dir,到hadoop-2.5.0/data/tmp
配置/opt/modules/hadoop-2.5.0/etc/hadoop/hdfs-site.xml
配置dfs.replication,备份改为1,默认为3
Execution第二部不使用start-dfs.sh,使用sbin/hadoop-daemon.sh start namenode(datanode)手动启动
jps查看是否启动
hdfs查看端口号50070
YARN ON A SIGNAL NODE
配置yarn-env.sh,将JAVA_HOME配置为echo $JAVA_HOME的显示结果
配置yarn-site.xml,其中的yarn.nodemanager.aux-services,打开yarn-default,配置其中的
yarn.resourcemanager.bind-host为hostname
更改slave中的主机名
启动不使用start-yarn.sh,使用sbin/yarn-daemon.sh start resourcemanager(nodemanager)
jps查看启动是否成功
yarn浏览器查看端口号8088
配置mapred-env.sh中的JAVA_HOME
配置mapred-site.xml
7、启动历史服务
sbin/mr-jobhistory-daemon.sh start historyserver
8、日志的聚集(Aggregation) -->应用完成以后,将日志信息上传到HDFS系统上
配置yarn-site.xml,查看yarn default,配置yarn.log-aggregation-enable为true,配置yarn.log- aggregation.retain-seconds为7天(640800s)
重启resourcemanager和historyserver
9、两类配置文件
1)默认配置文件 share目录下
core-default.xml hdfs-default.xml yarn-default.xml mapred-default.xml
2)自定义配置文件
core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml
10、三种启动方式
1)各个服务组件逐一启动
hdfs sbin/hadoop-daemon.sh start|stop namenode|datanode|secondarynamenode
yarn sbin/yarn-daemon.sh start|stop resourcemanaager|nodemanager
mapreduce sbin/mr-historyserver-daemon.sh start|stop historyserver
2)各个模块分开启动
hdfs start-dfs.sh stop-dfs.sh
yarn start-yarn.sh stop-yarn.sh
设置ssh无密码登录: 配置文件在家目录/.ssh中
a.ssh -keygen -t rsa rsa为加密算法,生成公钥id_rsa.pub
b.ssh-copy-id localhost 输入密码后生成authorized_keys
c.ssh localhost 测试实现无密码登录
3)全部启动
start-all.sh stop-all.sh (不推荐使用)
11、服务组件配置在哪台机器上并测试
1)HDFS
a.NameNode -->core.site.xml中fs.defaultFS属性中的主机名
b.DataNode -->slaves中配置主机名
c.SecondaryNameNode -->hdfs.site.xml中的dfs.namenodesecondary.http-address,默认0.0.0.0
2)YARN
a.resourcemanager -->yarn.site.xml中yarn.resourcemanager.hostname
b.nodemanager -->slaves