前期准备
(1)JAVA_HOME:因为Hadoop的配置文件中依赖 $JAVA_HOME。修改/etc/profile文件。
(2)hostname:修改主机名,方便管理。/etc/sysconfig/network。
(3)ip hostname:方便管理,hadoop默认是使用hostname作为ip的域名。/etc/hosts。
(4)iptables stop:关闭防火墙,由于集群需要用到的端口比较多,所以最好是先关掉。7版本:systemctl stop firewalld
(5)visudo:赋予sudo权限,CentOS中其他用户都没有sudo权限。/etc/sudoers。
(6)chown:更改hadoop文件夹的所有者。sudo chown -R user:group hadoop。
(7)验证:在hadoop根目录输入 bin/hadoop,验证是否配置正常。
(8)hadoop-env.sh添加 JAVA_HOME变量。
 
1,单机部署
··· 以wordcount为例:
    (1)输入数据:在根目录下创建 wcinput文件夹,并添加word.txt文件。
    (2)执行命令:bin/hadoop jar share/hadoop/mapreduce/......jar wordcount wcinput wcoutput   # 注意:根目录不能存在wcoutput目录,必须由hadoop创建。
    (3)查看输出:cat wcoutput/part-00000。
 
2,伪分布式部署
··· 以wordcount为例:
    (1)修改core-site.xml 文件
            <configuration>
                <!-- 用来指定默认文件系统的名称以及NameNode服务的主机和端口号
                注意:下面的mini主机名要改成你本机的实际的hostname -->
                <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://hostname:8020</value>
                </property>
 
                <!-- 配置hadoop临时保存目录
                注意:目录名和你安装的目录名要对应 -->
                <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/opt/app/hadoop/data/tmp</value>
                </property>
            </configuration>
    (2)修改hdfs-site.xml文件
            <configuration>
                <!-- 用来指定Hadoop中每一个数据的副本数,默认都是3,但是在伪分布式中只有一个节点,所以这个
                值必须设置为1 -->
                <property>
                    <name>dfs.replication</name>
                    <value>1</value>
                </property>
            </configuration>
    (3)对HDFS进行格式化
            bin/hadoop namendoe -format
            注意:只可以格式化一次,如果再次格式化,需要删除配置的临时文件目录 data文件夹
    (4)启动NameNode和DataNode进程
            sbin/hadoop-daemon.sh start namenode
            sbin/hadoop-daemon.sh start datanode
            注意:
                启动NameNode时一定要联网。
                可以通过jps查看进程是否启动。
                可以通过web访问HDFS(http://主机IP(或域名):50070/explorer.html#
    (5)上传文件到HDFS
            创建文件夹:bin/hdfs dfs -mkdir /input
            添加文件到HDFS的input目录:bin/hdfs dfs -put input.txt  /input
            查看是否上传成功:bin/hdfs dfs -ls /input
    (6)运行与查看
            运行:bin/hadoop  jar  share/..../....jar  wordcount  /input  /output
            查看结果:bin/hdfs dfs -cat /output/par*
 
··· 在YARN上运行MapReduce
    (1)复制一份 mapred-site.xml文件
            cp mapred-site.xml.template  mapred-site.xml
    (2)配置 MapReduce的计算框架为yarn
            <!-- 配置MapReduce的计算框架,可以是local,classic,yarn,如果不配置,默认是local -->
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
    (3)配置yarn-site.xml文件
            <!-- 设置该属性通知NodeManager需要实现名为mapreduce.shuffle的辅助服务-->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
    (4)启动
            sbin/yarn-daemon.sh start resourcemanager
            sbin/yarn-daemon.sh start nodemanager
            或者:start-yarn.sh
            通过:http://hostname:8088 查看yarn上执行的程序。
 
··· 配置历史服务器和日志聚集:
    (1)配置mapred-site.xml文件
            <!-- 配置历史服务器的地址 -->
            <property>
                <name>mapreduce.jobhistory.address</name>
                <value>mini:10020</value>
            </property>
 
            <!-- 配置历史服务器的web展示地址,以及端口号 -->
            <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>mini:19888</value>
            </property>
 
    (2)启动
        sbin/mr-jobhistory-daemon.sh start historyserver  # 启动历史服务器
        查看:http://hadoop11:19888
 
    (3)日志聚集
        作用:在MR任务运行结束后,将相关的运行日志上传到HDFS文件系统中。
        配置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>
        配置完后需要 重启 历史服务器和 yarn
 
··· 注意事项:
    · start-dfs.sh 可以一次启动NameNode、DataNode和 SecondaryNameNode,但是需要输入三次密码,可以通                    过设置本地免密登录,来面输密码;ssh-copy-id -i ~/.ssh/id_rsa.pub  shendeng@hadoop11(本地主机名)。
    · start-yarn.sh 可以一次启动 resourcemanager和nodemanager。
 
3,完全分布式
··· 集群规划
hadoop11
hadoop22
hadoop33
NameNode
ResourceManager SecondaryNameNode
DataNode
DataNode
DataNode
NodeManager
NodeManager
NodeManager
 
 
HistoryServer
 
··· 5个配置文件
· core-site.xml:配置hadoop的文件系统为hdfs以及地址、临时文件夹位置。
· hdfs-site.xml:配置SecondaryNameNode的主机地址、NameNode的web地址、关闭文件系统的权限控制。
· yarn-site.xml:配置ResourceManager主机的位置、shuffle服务、开启日志聚集功能、日志保存的时间。
· mapred-site.xml:配置MapReduce的计算框架为yarn、MapReduce历史记录地址、历史记录web地址。
· slaves:在该文件中添加从节点的主机名(注意不能有空格)。
具体配置文件 提取码:0gkn
 
··· 启动
· 复制配置文件:
    将配置文件复制到其他节点上。scp -r /opt/app/hadoop27/etc/hadoop/   hadoop22:/opt/app/hadoop27/etc/
· 初始化NameNode节点:
    注意:必须删除 /tmp和 hadoop根目录中的 data/tmp文件,否则无法初始化
    在部署NameNode的节点上初始化NameNode。hadoop namenode -format
· 启动守护进程
    在部署NameNode的节点上启动 HDFS。start-hdfs.sh
    在部署resourcemanager的节点上启动YARN。start-yarn.sh

2,Hadoop部署的更多相关文章

  1. hadoop部署小结的命令

    hadoop部署总结的命令 学习笔记,转自:hadoop部署总结的命令http://www.aboutyun.com/thread-5385-1-1.html(出处: about云开发)

  2. Hadoop 部署文档

    Hadoop 部署文档 1 先决条件 2 下载二进制文件 3 修改配置文件 3.1 core-site.xml 3.2 hdfs-site.xml 3.3 mapred-site.xml 3.4 ya ...

  3. hadoop进阶----hadoop经验(一)-----生产环境hadoop部署在超大内存服务器的虚拟机集群上vs几个内存较小的物理机

    生产环境 hadoop部署在超大内存服务器的虚拟机集群上 好 还是  几个内存较小的物理机上好? 虚拟机集群优点 虚拟化会带来一些其他方面的功能. 资源隔离.有些集群是专用的,比如给你三台设备只跑一个 ...

  4. Hadoop部署方式-完全分布式(Fully-Distributed Mode)

    Hadoop部署方式-完全分布式(Fully-Distributed Mode) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本博客搭建的虚拟机是伪分布式环境(https://w ...

  5. Hadoop部署方式-伪分布式(Pseudo-Distributed Mode)

    Hadoop部署方式-伪分布式(Pseudo-Distributed Mode) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载相应的jdk和Hadoop安装包 JDK:h ...

  6. Hadoop部署方式-本地模式(Local (Standalone) Mode)

    Hadoop部署方式-本地模式(Local (Standalone) Mode) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Hadoop总共有三种运行方式.本地模式(Local ...

  7. hadoop部署中遇到ssh设置的问题

    尽管hadoop和一些培训视频课程上讲分布式部署比较详细,但是在部署时仍遇到了一些小问题,在此mark一下: 1.linux的namenode主机上安装了ssh,也启动了ssh,并且执行了: /etc ...

  8. hadoop部署工具与配置工具

    https://github.com/xianglei/phpHiveAdmin 随着Hadoop的推出,大数据处理实现了技术上的落地.但是对于一般的公司和开发者而言,Hadoop依旧是一个陌生或者难 ...

  9. hadoop部署、启动全套过程

    Hadoop是Apache基金会的开源项目,为开发者提供了一个分布式系统的基础架构,用户可以在不了解分布式系统的底层细节的情况下开发分布式的应用,充分利用集群的强大功能,实现高速运算和存储.Hadoo ...

  10. hadoop部署错误

    hadoop的单机部署很简单也不容易出错,但是对生产环境的价值和意义不大,但是可以快速用于开发. 部署hadoop的错误原因不少,并且很奇怪. 比如,用户名不同,造成客户端和服务器通讯产生认证失败的错 ...

随机推荐

  1. c#数字图像处理(十三)图像开运算与闭运算

    图像开运算与闭运算定义 二值图像开运算的数学表达式为: g(x, y)=open[f(x, y ), B]=dilate{erode[f(x, y),B],B} 二值图像的开运算事实上就是先作腐蚀运算 ...

  2. Hyper-V 搭建独臂路由器(单网卡也可以)

    2020年原本难得清闲的春节,由于疫情的原因只能在家里看视频打发时间.打开某奇艺,全是某某公寓的推荐真的是受不了.一群人在那里叽叽喳喳,超前点播更是吃像难看,实在是没意思,所以决定搞一个独臂路由器玩一 ...

  3. Scala 学习(7)之「trait (1) 」

    作为接口使用 在 triat 中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可 类可以使用 extends 关键字继承 trait,注意,这里不是 implement,而是 ...

  4. zbar+opencv检测图片中的二维码或条形码

    zbar本身自带检测二维码条形码功能,这里使用opencv只是做一些简单的读取图片,灰度图片以及显示条形码和二维码时用到一些绘制 // barcode-qrcodescanner.cpp: 定义控制台 ...

  5. BOM DOM 注意事項

    setTimeout(js,時間)  js处 应该放一个函数 不能放 alert  confirm 等 (否则延时会失效) setTimeout()   和 setInterval() 的区别:    ...

  6. H.264原理

    前言 H264视频压缩算法现在无疑是所有视频压缩技术中使用最广泛,最流行的.随着 x264/openh264以及ffmpeg等开源库的推出,大多数使用者无需再对H264的细节做过多的研究,这大降低了人 ...

  7. linux--->lnmp环境调试环境配置

    lnmp环境调试环境配置 nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息. nginx把对php的请求发给php-fpm ...

  8. 如何用Git.io来生成自定义后缀名的短网址

    如何用Git.io来生成自定义后缀名的短网址 git.io是Github的官方短网址,它是用来缩短Github上项目的网址. 效果:Git.io/wacsh将会跳转到https://xhemj.git ...

  9. python之路:day2

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  10. kdevelop 是什么 什么鬼(windows系统非linux)

    这个软件尼玛 有懂的没,编译执行 1.需要gcc 2.需要啥怎么配置尼玛 3........................... 4.疯了都 大家懂得来说说