美文网首页
Hadoop学习(一)虚拟机搭建hadoop集群

Hadoop学习(一)虚拟机搭建hadoop集群

作者: LiJinQuanan | 来源:发表于2019-08-17 17:44 被阅读0次

虚拟机环境

操作系统:centos7
内存分配:2g
硬盘分配:30g
预计搭建集群数:3

搭建单机环境

关闭防火墙

自己机器为了方便,公司环境为了安全请开放相应端口

关闭防火墙
systemctl stop firewalld.service
禁用防火墙
systemctl disabled firewalld.service
查看防火墙
systemctl status firewalld.service

修改ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

ifcfg-ens33网卡名称不同版本不同


vi /etc/resolv.conf

重启网卡

service network restart

修改主机名并与ip映射

修改主机名
hostnamectl set-hostname 主机名
ip和主机名关系映射
vi /etc/hosts

192.168.1.121(虚拟机1ip) bigdata1(虚拟机1主机名)
192.168.1.122 bigdata2
192.168.1.123 bigdata3

在windows的C:\Windows\System32\drivers\etc\hosts添加

192.168.1.121 bigdata1
192.168.1.122 bigdata2
192.168.1.123 bigdata3

没有修改权限解决方案:
1.将hosts文件复制到桌面
2.记事本打开文件修改
3.替换etc目录下的hosts
4.提示点击继续

安装jdk

centos7踩坑(一)安装JDK8+Maven3

安装hadoop

下载hadoop压缩包

https://archive.apache.org/dist/hadoop/common/hadoop-2.8.4/

解压压缩包
tar -zxvf hadoop-2.8.4.tar.gz -C 你想安装hadoop的目录
添加环境变量
vi /etc/profile
#路径为你的安装目录
export HADOOP_HOME=/opt/module/hadoop-2.8.4
export PATH=$HADOOP_HOME/bin:$PATH:$HADOOP_HOME/sbin
验证

输入命令hadoop

搭建伪分布式

修改配置文件

core-site.xml

文件位置:你的hadoop目录/etc/hadoop

vi core-site.xml
<configuration>

<!-- 指定HDFS中NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>hadoop路径/data/tmp</value>
</property>

</configuration>

hdfs-site.xml

文件位置:你的hadoop目录/etc/hadoop

vi hdfs-site.xml
<configuration>

<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

</configuration>

yarn-site.xml

文件位置:你的hadoop目录/etc/hadoop

vi yarn-site.xml
<configuration>

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

<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机名1</value>
</property>

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

</configuration>

mapred-site.xml

文件位置:你的hadoop目录/etc/hadoop
源文件没有这个文件,只有mapred-site.xml.template,需要先改名

mv mapred-site.xml.template  mapred-site.xml
vi mapred-site.xml
<configuration>

<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>主机名1:10020</value>
</property>

<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>主机名1:19888</value>
</property>

</configuration>

hadoop-env.sh

文件位置:你的hadoop目录/etc/hadoop

vi  hadoop-env.sh
#将java环境变量改为绝对路径
export JAVA_HOME=/opt/module/jdk1.8.0_221/

格式化NameNode

命令
hdfs namenode -format
格式化原因

NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。

格式化做的事情

在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而 这 两 个 路 径来 自 于 配置 文 件 , 它们 对 应 的属 性 分别 是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件hadoop.tmp.dir这个配置,会让dfs.name.dir和dfs.name.edits.dir会让两个目录的文件生成在一个目录里。

提示

只有第一次搭建时才能使用该命令!!

启动集群检验

命令
start-all.sh
查看运行进程
jps
查看web页面

浏览器输入:ip:50070

查看Yarn页面

浏览器输入:ip:8088

完全分布式集群

克隆两台虚拟机

关闭防火墙

systemctl stop firewalld.service

启动虚拟机修改ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33
service network restart

修改hostname文件

vi /etc/hostname

重复一次获得bigdata2和bigdata3

删除伪分布式的data

文件位置,格式化后的hadoop文件

rm -fr data/

发送hosts文件

在bigdata1中使用scp命令

#scp 本机文件位子 用户名@主机名:目标主机文件位置
scp /etc/hosts root@bigdata2:/etc/

配置ssh

每个节点都要操作以下命令

生成密钥
ssh-keygen
将节点密钥放入目标主机密钥库
ssh-copy-id 节点1主机名
ssh-copy-id 节点2主机名
ssh-copy-id 节点3主机名

修改hadoop配置文件

以下操作三台虚拟机同步

hdfs-site.xml
<configuration>

<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>

<!--secondary的地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>主机名1:50090</value>

</property><!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

</configuration>

yarn-site.xml

将yarn部署到节点2

<configuration>

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

<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>节点2主机名</value>
</property>

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>


</configuration>

mapred-site.xml

将历史服务器yarn节点改为节点2

<configuration>

<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>节点2主机名:10020</value>
</property>

<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>节点2主机名:19888</value>
</property>

</configuration>

配置集群主机名

添加datanode节点

文件位置
hadoop目录/etc/hadoop

vi slaves
节点主机名1
节点主机名2
节点主机名3

启动集群

节点1

重新格式化namenode

hadoop namenode -format

启动hdfs

start-dfs.sh
节点2

启动Yarn

start-yarn.sh

检测

浏览器输入:节点1ip:50070
点击Datanodes标签

相关文章

  • 大数据Hadoop集群搭建-04安装配置HDFS

    Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hadoop...

  • hadoop(12)hadoop集群搭建(使用docker搭建)

    前因 前端时间学习hadoop的时候,需要搭建hadoop集群,首先想到的是虚拟机进行搭建,但是呢,不知道为啥,自...

  • hadoop学习大纲

    Hadoop集群环境搭建 Hadoop集群环境搭建 HDFS 图说HDFS基本原理hadoop的shell命令操作...

  • Hadoop课程大纲

    Hadoop集群环境搭建 Hadoop集群环境搭建 HDFS 图说HDFS基本原理hadoop的shell命令操作...

  • Hadoop课程大纲

    Hadoop集群环境搭建 Hadoop集群环境搭建 HDFS 图说HDFS基本原理hadoop的shell命令操作...

  • Hadoop 课程大纲

    Hadoop集群环境搭建 Hadoop集群环境搭建 HDFS 图说HDFS基本原理hadoop的shell命令操作...

  • Docker搭建Hadoop集群

    在学习Hadoop过程中,想要搭建Hadoop分布式集群,往往需要几台服务器或者再一台机器上搭建几台虚拟机;这两种...

  • Hadoop、Hbase HA高可用集群搭建

    本文用以记录Hadoop、Hbase HA高可用集群搭建 基础环境准备根据前面hadoop集群搭建、hbase集群...

  • Hadoop Hbase HA高可用集群搭建

    本文用以记录Hadoop、Hbase HA高可用集群搭建 基础环境准备根据前面hadoop集群搭建、hbase集群...

  • Hadoop的集群环境部署说明

    Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环...

网友评论

      本文标题:Hadoop学习(一)虚拟机搭建hadoop集群

      本文链接:https://www.haomeiwen.com/subject/oeupjctx.html