Hadoop平台搭建

一、创建虚拟机

        1.选择自定义创建

        2.选择稍后安装系统

        3.处理器数量2,单个处理器内核4个

        4.分配内存量4g

        5.新建虚拟磁盘:master40g,slave20g

        4..其余选项按默认确定

二、安装选项页面

        1.软件安装选择最小安装

        2.安装位置选择我要配置分区(/目录尽量大)

        

        3.更改主机名

       

       4.设置root密码(建议学习者设置123456)

        

三、配置静态ip

        主机ip默认为动态,为保持Hadoop平台稳定故使用静态ip。

        以root用户修改网卡配置文件,所在路径为 /etc/sysconfig/network-scripts

        使用vi编辑器打开ifcfg-ens32文件   shift+G跳到末行 shift+4跳到末尾

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

        改动如下:

修改:
(网络状态)BOOTPROT="static"
 (启动)      ONBOOT=YES
添加:  
(ip地址) IPADDR=(与原IP为同一网段)
(子网掩码)NETMASK=255.255.255.0    0主机地址
(网关)   GATEWAY=(与原IP为同一网段,桥接为1,NAT为2)
(域名)   DNS1=(与网关一致)
           DNS2=8.8.8.8

       重启网络

systemctl restart network

四、关闭防火墙

      在后续的工作中需要以Master控制slave1,slave2两台机器需要关闭防火墙进行操控

      查看防火墙,此时Active为active状态(开启状态)

systemctl status firewalld.service

      关闭防火墙确保Active为dead状态(关闭状态)

Active: inactive (dead)

     关闭防火墙前一定要先停止防火墙

systemctl stop firewalld.service

    关闭防火墙

systemctl disable firewalld.service

  五、移除NetworkManager

1.查看NetworkManager服务状态

systemctl status NetworkManager

2.停止NetworkManager服务

systemctl stop NetworkManager

3.移除NetworkManager服务

systemctl disable NetworkManager

六、克隆主机

         Hadoop平台的搭建需要一个主节点,多个副节点。在centos7中创建主机Master后,克隆主机为slave1与slave2,为保证从Hadoop平台的稳定选择完整克隆。

七、修改节点名

         克隆机slave1、slave2后的主机名依旧是Master,所以要修改主机名。

         以root用户执行hostnamectl命令。重启生效(reboot)

hostnamectl set-hostname slave1

注意:克隆虚拟机时一定要生成新的MAC地址,否则导致远程无法连接

八、连接远程操控软件

     为方便对Hadoop平台的操控,故连接远程操控软件。(这里以mobaXterm为示例)

     点击session

 点击SSH,输入slave的ip,选中用户输入root

输入用户密码,连接成功

九、更改UUID

     由于slave1为Master的克隆机故uuid号与Master一致,需要更改

     输入uuidgen获取新的uuid号

[root@slave1 ~]# uuidgen
894525cf-6edc-41bb-a185-8fd6b88f46f7

     使用vi编辑器替换uuid

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

十、ip地址和主机名映射 

           为方便远程连接设置映射

           打开master使用root修改映射文件,所在地址为 /etc

           使用vi编辑器打开hosts文件,删除文件原有内容,添加内容如下

                然后输入“%d”,就可以删除所有内容

192.xxx.xxx.xxx    master
192.xxx.xxx.xxx    slave1
192.xxx.xxx.xxx    slave2

           注:master,slave1,slave2同样操作

十一、免密登入

             密钥获取

ssh-keygen

             使用copy命令将密钥拷贝到其他主机与本机中实现免密登录

ssh-copy-id master

               注:master,slave1,slave2同样操作

十二、配置jdk、hadoop环境 

       使用mkdir命令选择-p属性递归创建文件

         /opt/software 用来存放安装包的压缩包

mkdir -p /opt/software

          /opt/module用来存放解压后的软件    

mkdir -p /opt/module

          1.上传安装包于/opt/software 目录下
          2.解压到指定的目录下
          3.tar -C的作用是解压到指定的目录

 tar -zxvf jdk-8u161-linux-x64.tar.gz -C /opt/module/
 tar -zxvf hadoop-3.1.4.tar.gz -C /opt/module/

 hadoop、java环境变量配置

          1.环境变量的配置

vi /etc/profile.d/my_env.sh

          2.使用export调用

#jdk环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
#hadoop环境变量
export HADOOP_HOME=/opt/module/hadoop-3.1.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH


            3..生效环境变量的配置:

source /etc/profile

            4.验证环境是否安装成功

java -version
hadoop version

            5.出现以下内容证明安装成功

             6.生效环境变量的配置

source /etc/profile

            7.将配置文件拷贝到其他节点机中

使用scp命令选择-r属性将/etc/profile.d目录下的my_eny.sh文件拷贝到其他节点机中

scp -r /etc/profile/my_env.sh slave:/etc/profile/

带/是传到其目录下,原文件会被自动覆盖

十三、集群配置文件

hdfs分布式文件系统namenode datanode
MapReduce分布式计算框架
yarn资源调度管理平台resourcemanager nodemanager
secondarynamenode

保护防线

节点配置
           master              slave1             slave2    
        namenode           datanode           datanode
         datanode     resourcemanager        nodemanager
      nodemanager         nodemanager      secondarynamenode
   配置文件                                    功能描述
hadoop.env.sh                    配置Hadoop运行所需的环境变量
  yarn.env.sh                      配置yarn运行所需的环境变量
 core-site.xml         Hadoop核心全局配置文件,可以在其他配置                                                 文件中引用此文件
 hdfs-site.xml              HDFS配置文件,继承core-site.xml配置文件

    mapred-          site.xml

         MapReduce配置文件,继承core-site.xml配置文件
 yarn-site.xml               yarn配置文件,继承core-site.xml配置文件
1.修改core-site.xml文件
<!-- 指定 NameNode 的地址 -->

<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>

<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.4/data</value>
</property>

<!-- 配置 HDFS 网页登录使用的静态用户为 atguigu -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>

</property>

2.修改hdfs-site.xml文件
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave2:9868</value>
</property>

<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

namenode处于正常的情况下,secondarynamenode不会启动

3.修改mapred-site.xml文件
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>

<!-- 历史服务器 web 端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>

4.修改yarn-site.xml文件
<!-- Site specific YARN configuration properties,附属服务,运行mapreduce程序 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave1</value>
</property>
<!--是否将对容器实施虚拟内存限制,超出则杀死-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>

5.在任意目录下输入:hadoop classpath,复制返回的信息,并添加到如下value标签中
<property>
 <name>yarn.application.classpath</name>
 <value>输入刚才返回的Hadoop classpath路径</value>
 </property>
6.修改workers文件
master
slave1
slave2
7.修改环境变量相关设置
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

一定要source环境变量

文件系统的格式化:

hdfs namenode -format

启动hdfs

start-dfs.sh
二次格式化

二次格式化时要删除data文件与logs日志文件

logs日志文件夹       登录时间 登录进程

十四、ui界面

通过UI界面查看Hadoop集群运行状态

1.使用jps命令查看每台虚拟机的节点确保除slave1有两个节点外,其余主机都有三个节点

2.复制虚拟机映射文件

       使用vi编辑器打开/etc/hosts文件复制以下映射

192.xxx.xxx.xxx    master
192.xxx.xxx.xxx    slave1
192.xxx.xxx.xxx    slave2

3.在window系统下新建txt文件,将其改名为hosts,并为其去掉txt后缀

   粘贴复制的hosts映射

4.转到此目录C:\Windows\System32\drivers\etc

   删除已有的hosts文件,将新建的hosts文件保存到此目录下

5.在浏览器中输入master:9870

启动yarn平台(主节点slave1)

start-yarn.sh

停止yarn平台

stop-yarn.sh

hdfsUI监控界面主机名(IP地址):9870
1.0verview: hdfs基本信息:启动时间、版本号、编译版本等
2.Summary:集群信息。
3.NameNode Storage:提供了NameNode的信息


启动后需要检查:

1.三台机子都敲入jps,检查进程是否完整

master        
NodeManager
NameNode
DataNode
Jps

slave1
NodeManager
DataNode
ResourceManager
jps

slave2
SecondaryNamenode
jps
NodeManager
DataNode


2.进入hdfs Ul监控界面:

(1)hdfs平台是active

(2) live nodes为3个

(3) NameNode               Storage中State状态为active

十五、配置时间同步服务

NTP(Network Time Protocol)网络时间协议,使计算机时间同步的一种协议
1.下载安装ntp服务

yum install -y ntp

2.设置master节点为ntp服务的主节点

vi /etc/ntp.conf

注释掉server开头的行
添加如下内容:

restrict 192.168.15.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10

3.分别在slave1和slave2节点中配置ntp服务
(1)通过scp -r命令将ntp.conf传给slave1和slave2
(2)在ntp.conf文件中添加如下内容:

server master

4.关闭和禁用防火墙服务
关闭防火墙:

systemctl stop firewalld.service

查看防火墙状态:

systemctl status firewalld.service

移除防火墙:

systemctl disable firewalld.service

5.启动ntp服务
(1)在master节点上使用
启动ntp服务

systemctl start ntpd

永久开启ntp服务

systemctl enable ntpd


6.使用命令ntpdate  master去同步master节点的时间
7.在slave1和slave2节点上启动ntp服务

启动ntp服务

systemctl start ntpd

永久开启ntp服务

systemctl enable ntpd

出现如下验证成功:

十六、配置本地yum源及安装常用软件

1.yum常用的命令
 安装RPM软件包

install

删除RPM软件包(卸载)

remove

2.参数
-y 对所有的提问都回答yes

3.配置本地yum源yu
(1)进入对应的配置目录

cd /etc/yum.repos.d/ 

(2)查看目录的下的文件:ll 
(3)将除了 CentOS-Media.repo这个文件以外的其他文件都加.bak后缀
(4)vi CentOS-Media.repo

将baseurl的值修改为file:///media/
将gpgcheck的值修改为0
将enabled的值修改为1

(4)使用命令挂在本地yum源

mount /dev/sr0 /media/

成功示范:

(5)更新yum源

yum clean all

注意事项:
1.二次格式化hdfs,需要将data文件夹下的内容清空(直接删除data文件夹),还要删除logs文件夹下的内容(直接删除logs文件夹)
2.hdfs的UI监控界面master:9870

十七、Safemode安全模式

保证系统保密性、完整性及可使用性的一种机制。
当处于安全模式,hdfs只接收读取数据的请求,不允许删除、修改等变更操作

查看安全模式状态

hdfs dfsadmin -safemode get
Safe mode is OFF    关闭状态
Safe mode is ON     开启状态

开启安全模式

hfds dfsadmin-safemode enter

关闭安全模式

hdfs dfsadmin-safemode leave

查看HDFS文件系统资源信息

hdfs dfsadmin -report

查看在线节点信息

hdfs dfs -report -live

查看宕机节点信息

hdfs dfsamdmin -report -dead

十八、hdfs基本操作-命令行 hdfs dfs操作

1.创建目录(文件夹)
单层文件夹 

hdfs dfs -mkdir /文件夹名    

多层文件夹    

hdfs dfs -mkdir -p/文件夹1/文件夹.......   

 2.上传文件
源文件的路径 目标路径将本地的源文件上传到hdfs

hdfs dfs -put 

源文件的路径 目标路径将本地的源文件移动到hdfs上(本地源文件删除)

hdfs dfs -moveFromLocal 

源文件的路径 目标路径将本地源文件复制到hdfs上

hdfs dfs -copyFromLocal

3.下载文件
源文件的路径 目标路径

hdfs dfs -get

源文件的路径目标路径

hdfs dfs -copyToLocal

4.查看文件内容

hdfs  dfs  -cat  /文件名

5.删除文件或目录

删除文件

 hdfs  dfs  -rm  /文件名

删除文件夹

hdfs  dfs  -rm  -r  /文件夹名

6.列出指定的文件和目录

hdfs dfs -ls [-d] [-h] [-R] <文件路径>

十九、yarn平台

hdfs Ul监控界面:master:9870

yarn UI监控界面:slave1:8088

在网页上打开UI监控页面后,检查

Active Nodes是否为3个

二十、mapreduce

输入

hadoop classpath

将输出结果粘贴到

yarn-site.xml文件中

mapreduce样例所在的路径:

/opt/module/hadoop-3.1.4/share/hadoop/mapreduce/ hadoop-mapreduce-examples-3.1.4.jar

包含7个模块:
1.wordcount 对输入的单词文件进行词频统计
2.pi 应用拟蒙特卡罗方法计算圆周率π的值
3.wordmean计算输入的文件单词的平均长度    I    
4.wordmedian计算输入文件的单词长度的中位数
提交mapreduce任务给集群运行
hadoop jar jar包所在的绝对路径  类名  输入文件的路径    输出结果文件的路径

注意:输出结果文件提交前不能存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值