最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

[综合] Hadoop集群搭建和简单应用

[复制链接]
跳转到指定楼层
楼主
发表于 2019-3-30 13:36:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 168主编 于 2019-3-30 15:04 编辑

目录
  • 概念了解
  • 集群服务器规划
  • 软件安装步骤概述
  • hadoop安装
    • 1、规划
    • 2、上传解压缩
    • 3、修改配置文件
    • 4、把安装包分别分发给其他的节点
    • 5、配置Hadoop环境变量
    • 6、查看hadoop版本
    • 7、Hadoop初始化
    • 8、启动
    • 9、查看4台服务器的进程
    • 10、启动HDFS和YARN的web管理界面

  • Hadoop的简单使用
    • 创建文件夹
    • 查看创建的文件夹
    • 上传文件
    • 下载文件
    • 运行一个mapreduce的例子程序: wordcount



正文
回到顶部

概念了解
主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构。
主从结构分类:
1、一主多从
2、多主多从
Hadoop中的HDFS和YARN都是主从结构,主从结构中的主节点和从节点有多重概念方式:
1、主节点  从节点
2、master  slave
3、管理者  工作者
4、leader  follower
Hadoop集群中各个角色的名称:
服务主节点从节点
HDFSNameNodeDataNode
YARNResourceManagerNodeManager
回到顶部

集群服务器规划
使用4台CentOS-6.7虚拟机进行集群搭建
回到顶部

软件安装步骤概述
1、获取安装包
2、解压缩和安装
3、修改配置文件
4、初始化,配置环境变量,启动,验证
回到顶部

Hadoop安装1、规划
规划安装用户:hadoop
规划安装目录:/home/hadoop/apps
规划数据目录:/home/hadoop/data
注:apps和data文件夹需要自己单独创建
2、上传解压缩
注:使用hadoop用户
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop1 apps]$ lshadoop-2.7.5-centos-6.7.tar.gz[hadoop@hadoop1 apps]$ tar -zxvf hadoop-2.7.5-centos-6.7.tar.gz 

3、修改配置文件
配置文件目录:/home/hadoop/apps/hadoop-2.7.5/etc/hadoop
A. hadoop-env.sh[hadoop@hadoop1 hadoop]$ vi hadoop-env.sh
修改JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_73
B. core-site.xml
[hadoop@hadoop1 hadoop]$ vi core-site.xml
fs.defaultFS : 这个属性用来指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口,也可以指定为一个namenode服务(这个服务内部可以有多台namenode实现ha的namenode服务
hadoop.tmp.dir : hadoop集群在工作的时候存储的一些临时文件的目录
[AppleScript] 纯文本查看 复制代码
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop1:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/data/hadoopdata</value>
        </property>
</configuration>
C. hdfs-site.xml
[hadoop@hadoop1 hadoop]$ vi hdfs-site.xml
dfs.namenode.name.dir:namenode数据的存放地点。也就是namenode元数据存放的地方,记录了hdfs系统中文件的元数据。
dfs.datanode.data.dir: datanode数据的存放地点。也就是block块存放的目录了。
dfs.replication:hdfs的副本数设置。也就是上传一个文件,其分割为block块后,每个block的冗余副本个数,默认配置是3。
dfs.secondary.http.address:secondarynamenode 运行节点的信息,和 namenode 不同节点

[AppleScript] 纯文本查看 复制代码
<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/home/hadoop/data/hadoopdata/name</value>
                <description>为了保证元数据的安全一般配置多个不同目录</description>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/home/hadoop/data/hadoopdata/data</value>
                <description>datanode 的数据存储目录</description>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>2</value>
                <description>HDFS 的数据块的副本存储个数, 默认是3</description>
        </property>

        <property>
                <name>dfs.secondary.http.address</name>
                <value>hadoop3:50090</value>
                <description>secondarynamenode 运行节点的信息,和 namenode 不同节点</description>
        </property>
</configuration>
D. mapred-site.xml
[hadoop@hadoop1 hadoop]$ cp mapred-site.xml.template mapred-site.xml[hadoop@hadoop1 hadoop]$ vi mapred-site.xml
mapreduce.framework.name:指定mr框架为yarn方式,Hadoop二代MP也基于资源管理系统Yarn来运行 。
[AppleScript] 纯文本查看 复制代码
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>
E. yarn-site.xml
[hadoop@hadoop1 hadoop]$ vi yarn-site.xml
yarn.resourcemanager.hostname:yarn总管理器的IPC通讯地址
yarn.nodemanager.aux-services:
[AppleScript] 纯文本查看 复制代码
<configuration>

<!-- Site specific YARN configuration properties -->

        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop4</value>
        </property>
        
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
                <description>YARN 集群为 MapReduce 程序提供的 shuffle 服务</description>
        </property>

</configuration>
F. slaves
[hadoop@hadoop1 hadoop]$ vi slaves
hadoop1hadoop2hadoop3hadoop4
4、把安装包分别分发给其他的节点
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
重点强调: 每台服务器中的hadoop安装包的目录必须一致, 安装包的配置信息还必须保持一致
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop2:~/apps/[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop3:~/apps/[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop4:~/apps/
注意:上面的命令等同于下面的命令
[hadoop@hadoop1 hadoop]$ scp -r ~/apps/hadoop-2.7.5/ hadoop@hadoop2:~/apps/
5、配置Hadoop环境变量
千万注意:
1、如果你使用root用户进行安装。 vi /etc/profile 即可 系统变量
2、如果你使用普通用户进行安装。 vi ~/.bashrc 用户变量
[hadoop@hadoop1 ~]$ vi .bashrc
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5export PATH=$PATHHADOOP_HOME/binHADOOP_HOME/sbin:
使环境变量生效
[hadoop@hadoop1 bin]$ source ~/.bashrc
6、查看hadoop版本
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop1 bin]$ hadoop version
Hadoop 2.7.5
Subversion Unknown -r Unknown
Compiled by root on 2017-12-24T05:30Z
Compiled with protoc 2.5.0
From source with checksum 9f118f95f47043332d51891e37f736e9
This command was run using /home/hadoop/apps/hadoop-2.7.5/share/hadoop/common/hadoop-common-2.7.5.jar
[hadoop@hadoop1 bin]$ 

7、Hadoop初始化
注意:HDFS初始化只能在主节点上进行
[hadoop@hadoop1 ~]$ hadoop namenode -format
View Code
8、启动
A. 启动HDFS
注意:不管在集群中的那个节点都可以
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop1 ~]$ start-dfs.sh
Starting namenodes on [hadoop1]
hadoop1: starting namenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-namenode-hadoop1.out
hadoop3: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop3.out
hadoop2: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop2.out
hadoop4: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop4.out
hadoop1: starting datanode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-datanode-hadoop1.out
Starting secondary namenodes [hadoop3]
hadoop3: starting secondarynamenode, logging to /home/hadoop/apps/hadoop-2.7.5/logs/hadoop-hadoop-secondarynamenode-hadoop3.out
[hadoop@hadoop1 ~]$ 
B. 启动YARN
注意:只能在主节点中进行启动
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop4 ~]$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-resourcemanager-hadoop4.out
hadoop2: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop2.out
hadoop3: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop3.out
hadoop4: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop4.out
hadoop1: starting nodemanager, logging to /home/hadoop/apps/hadoop-2.7.5/logs/yarn-hadoop-nodemanager-hadoop1.out
[hadoop@hadoop4 ~]$
9、查看4台服务器的进程
hadoop1
hadoop2
hadoop3
hadoop4
10、启动HDFS和YARN的web管理界面
HDFS : http://192.168.123.102:50070
YARN : http://hadoop05:8088
疑惑: fs.defaultFS = hdfs://hadoop02:9000
解答:客户单访问HDFS集群所使用的URL地址
同时,HDFS提供了一个web管理界面 端口:50070
HDFS界面
点击Datanodes可以查看四个节点
YARN界面
点击Nodes可以查看节点
回到顶部

Hadoop的简单使用创建文件夹
在HDFS上创建一个文件夹/test/input
[hadoop@hadoop1 ~]$ hadoop fs -mkdir -p /test/input
查看创建的文件夹
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop1 ~]$ hadoop fs -ls /
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test
[hadoop@hadoop1 ~]$ hadoop fs -ls /test
Found 1 items
drwxr-xr-x   - hadoop supergroup          0 2018-03-03 11:33 /test/input
[hadoop@hadoop1 ~]$ 

上传文件
创建一个文件words.txt
[hadoop@hadoop1 ~]$ vi words.txt
hello zhangsanhello lisihello wangwu
上传到HDFS的/test/input文件夹中
[hadoop@hadoop1 ~]$ hadoop fs -put ~/words.txt /test/input
查看是否上传成功
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/inputFound 1 items-rw-r--r--   2 hadoop supergroup         39 2018-03-03 11:37 /test/input/words.txt[hadoop@hadoop1 ~]$
下载文件
将刚刚上传的文件下载到~/data文件夹中
[hadoop@hadoop1 ~]$ hadoop fs -get /test/input/words.txt ~/data
查看是否下载成功
[hadoop@hadoop1 ~]$ ls datahadoopdata  words.txt[hadoop@hadoop1 ~]$
运行一个mapreduce的例子程序: wordcount[hadoop@hadoop1 ~]$ hadoop jar ~/apps/hadoop-2.7.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /test/input /test/output
在YARN Web界面查看
查看结果
[AppleScript] 纯文本查看 复制代码
[hadoop@hadoop1 ~]$ hadoop fs -ls /test/output
Found 2 items
-rw-r--r--   2 hadoop supergroup          0 2018-03-03 11:42 /test/output/_SUCCESS
-rw-r--r--   2 hadoop supergroup         35 2018-03-03 11:42 /test/output/part-r-00000
[hadoop@hadoop1 ~]$ hadoop fs -cat /test/output/part-r-00000
hello    3
lisi    1
wangwu    1
zhangsan    1
[hadoop@hadoop1 ~]$ 


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-4-30 07:39

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表