Hadoop3.1.4完全分布式集群搭建

07-03 615阅读

目录

  • 一、.修改主机名
  • 二、关闭防火墙
    • 1.查看CentOS 7防火墙状态
    • 2.关闭运行的防火墙
    • 3.禁用防火墙服务
    • 三、关闭NodeManager服务
    • 四、配置静态ip
    • 五、克隆虚拟机
      • mac地址的设置如下:
      • 六、ip地址和主机名的映射
        • 1.需要使用root用户修改 **/etc/hosts** 文件,删除原来的内容,在结尾直接追加内容(每台机器):
        • 2.配置完成后可以使用**ping**命令一一测试,看看是够能够正确解析出ip地址,得到目标机器的回应(可以每台机器都测试一下:使用Ctrl + C结束)。
        • 3.在slave1和slave2 上也修改hosts文件,追加内容和步骤1的内容相同,然后重复步骤2
        • 七、免密登录设置
          • 1.生成公钥密钥对
          • 2.将子节点的公钥拷贝到主节点并添加进authorized_keys
          • 3.测试是否成功
          • 八、配置时间同步服务
            • 1.下载安装ntp服务
            • 2.设置master节点为ntp服务主节点
            • 3.从节点配置ntp服务
            • 4.启动ntp服务
            • 九、配置jdk环境
              • 1.下载jdk安装包和hadoop3.1.4
              • 2.将本地的jdk安装包上传到/opt/software系统中
              • 3.进入/opt/software目录下,解压jdk安装包到/opt/module
              • 4.配置环境变量
              • 十、Hadoop集群配置
                • 1.修改core-site.xml文件
                • 2.修改hdfs-site.xml文件
                • 3.修改mapred-site.xml文件
                • 4.修改yarn-site.xml文件
                • 5 修改workers文件
                • 6.修改环境变量相关设置
                • 十一、格式化文件系统
                • 十二、启动和关闭集群
                  • 1.hdfs的启动和关闭:(在主节点master上执行)
                  • 验证平台搭建是否成功
                  • 十三、通过UI界面查看Hadoop集群运行状态
                    • 1.windows操作系统下,配置hosts映射
                    • 2.在浏览器中输入 master:9870
                    • 十四、配置时间同步服务
                      • 1.下载安装ntp服务
                      • 2.设置master节点为ntp服务的主节点
                      • 3.分别在slave1和slave2节点中配置ntp服务
                      • 4.关闭和禁用防火墙服务
                      • 5.启动ntp服务
                      • 6.使用命令ntpdate master去同步master节点的时间
                      • 7.在slave1和slave2节点上启动ntp服务
                      • 十五、配置本地yum源及安装常用软件
                        • 1.yum常用的命令
                        • 2.参数
                        • 3.配置本地yum源

                          一、.修改主机名

                          在Centos7中直接使用root用户执行hostnamectl命令修改,重启(reboot)后永久生效。

                          hostnamectl set-hostname 新主机名
                          

                          要求:三台主机的名字分别为:master slave1 slave2

                          二、关闭防火墙

                          1.查看CentOS 7防火墙状态

                          systemctl status firewalld.service
                          

                          2.关闭运行的防火墙

                          systemctl stop firewalld.service
                          

                          关闭后,可查看防火墙状态,当显示disavtive(dead)的字样,说明CentOS 7防火墙已经关闭。

                          但要注意的是,上面的命令只是临时关闭了CentOS 7防火墙,当重启操作系统后,防火墙服务还是会再次启动。如果想要永久关闭防火墙则还需要禁用防火墙服务。

                          3.禁用防火墙服务

                          systemctl disable firewalld.service
                          

                          三、关闭NodeManager服务

                          NAT模式,修改网卡配置文件后,重启服务出现错误’Job for network.service failed because the control process exited with error code. See “systemctl status network.service” and “journalctl -xe” for details.’

                          解决方法:

                          1.和 NetworkManager 服务有冲突,关闭 NetworkManger 服务

                           systemctl stop NetworkManager
                          

                          2.禁止开机启动NetworkManager 服务

                          systemctl disable NetworkManager
                          

                          3.除此以外,其他相关命令如下:

                          查看# systemctl status NetworkManager
                          开启# systemctl start NetworkManager
                          可用# systemctl enable NetworkManager
                          

                          四、配置静态ip

                          使用root用户修改当前启用的网卡配置文件,所在路径为 /etc/sysconfig/network-scripts ,CentOS 6系统默认为ifcfg-eth0,CentOS 7系统默认为ifcfg-ens32 ,使用vi编辑器编辑ifcfg-ens32文件,所用命令如下:

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

                          三个节点上的这个文件都需要修改,修改的内容基本一致,如下是需要修改和添加的

                          #原值为dhcp,修改为static
                          BOOTPROT="satic"
                          # 添加IPADDR,对应的值要与原ip在同一网段
                          IPADDR=xxx.xxx.xxx.xxx
                          # 添加NETMASK,指定子网掩码,默认为255.255.255.0
                          NETMASK=255.255.255.0
                          # 添加GATEWAY,要与虚拟机网卡的设置一致,默认仅主机模式为1,NAT模式为2
                          GATEWAY=xxx.xxx.xxx.1/2
                          # 如果需要连入外网,则可以添加DNS1和DNS2配置,通常会将DNS1指定为网关地址
                          DNS1=网关地址
                          DNS2=8.8.8.8
                          

                          注意:配置完成后保存退出,使用systemctl restart network命令重启网卡服务。(如果使用service network restart命令,则需要编辑/etc/resolv.conf文件,添加对应的如下内容:nameserver 8.8.8.8 )

                          五、克隆虚拟机

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          克隆完成后需要重新设置ip地址和mac地址

                          mac地址的设置如下:

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          启动虚拟机,输入

                          uuidgen
                          

                          Hadoop3.1.4完全分布式集群搭建

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

                          Hadoop3.1.4完全分布式集群搭建

                          然后重启网络

                          systemctl restart network
                          

                          六、ip地址和主机名的映射

                          在完全分布式部署的Hadoop平台上,为了方便各节点的交互,也为了尽量减少配置的修改,通常在配置文件中都会使用主机名来访问节点,这就需要正确的建立主机名与ip的映射。我们目前已经有了三台配置好网络的机器。现在我们有这样三台机器(master为主节点):

                          主机名称IP地址
                          master192.168.233.131
                          slave1192.168.233.130
                          slave2192.168.233.128

                          1.需要使用root用户修改 /etc/hosts 文件,删除原来的内容,在结尾直接追加内容(每台机器):

                          192.168.233.131 master
                          192.168.233.130 slave1
                          192.168.233.128 slave2
                          

                          2.配置完成后可以使用ping命令一一测试,看看是够能够正确解析出ip地址,得到目标机器的回应(可以每台机器都测试一下:使用Ctrl + C结束)。

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          3.在slave1和slave2 上也修改hosts文件,追加内容和步骤1的内容相同,然后重复步骤2

                          七、免密登录设置

                          1.生成公钥密钥对

                          在3个节点上分别都执行如下命令:

                          ssh-keygen                  
                          

                          连续按Enter键确认。

                          在root目录下输入:ll-a 可以查看当前目录下的所有文件(包含隐藏文件)。

                          然后进入.ssh隐藏目录,输入ls 命令,如图所示:

                          Hadoop3.1.4完全分布式集群搭建

                          在图中能够看到包含两个文件分别是私钥和公钥,其中id_rsa为生成的私钥,id_rsa.pub为生成的公钥。

                          2.将子节点的公钥拷贝到主节点并添加进authorized_keys

                          在master节点上执行如下两行命令:

                          ssh-copy-id master
                          ssh-copy-id slave1
                          ssh-copy-id slave2
                          

                          执行时,到了红色框区域,需要输入yes

                          Hadoop3.1.4完全分布式集群搭建

                          3.测试是否成功

                          为了测试免密设置是否成功,可执行如下命令:

                          ssh master
                          ssh slave1
                          ssh slave2
                          

                          结果如图所示:

                          Hadoop3.1.4完全分布式集群搭建

                          Hadoop3.1.4完全分布式集群搭建

                          八、配置时间同步服务

                          • 如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;

                          • 如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。

                          • NTP(Network Time Protocol,网络时间协议) 是使计算机时间同步化的一种协议,可以使计算机对其服务器或时钟源进行同步化,提供高精度的时间校正。

                          • Hadoop集群对时间要求很高,主节点与各从节点的时间必须同步,因此需要配置时间同步服务。

                            1.下载安装ntp服务

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

                            3.从节点配置ntp服务

                            4.启动ntp服务

                            九、配置jdk环境

                            为了规范后续Hadoop集群相关软件和数据的安装配置,这里在虚拟机的根目录下建一些文件夹作为约定,具体如下:

                            文件夹名作用
                            /opt/module存放软件
                            /opt/software存放安装包压缩包

                            具体需要执行下面3条命令:

                            mkdir -p  /opt/module
                            mkdir -p  /opt/software
                            

                            进入/opt目录下,执行ls命令,如图所示即为成功。

                            Hadoop3.1.4完全分布式集群搭建

                            1.下载jdk安装包和hadoop3.1.4

                            下载JDK地址 : https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

                            2.将本地的jdk安装包上传到/opt/software系统中

                            3.进入/opt/software目录下,解压jdk安装包到/opt/module

                            执行如下命令:

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

                            解压后在/opt/module目录下使用ll命令查看:!](https://img-blog.csdnimg.cn/direct/6327133fd6d3457a896f36b2e32b3873.png)

                            Hadoop3.1.4完全分布式集群搭建

                            4.配置环境变量

                            使用vi编辑器编辑etc文件夹下的profile文件,键盘按下大写字母G,即可将光标移动到文章的末尾。

                             vi /etc/profile.d/my_env.sh
                            

                            将如下内容添加到末尾

                            #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
                            

                            刷新环境变量

                             source /etc/profile
                            

                            使用命令测试jdk环境变量的配置

                            java -version
                            

                            Hadoop3.1.4完全分布式集群搭建

                            使用命令测试hadoop环境变量的配置

                            hadoop version
                            

                            Hadoop3.1.4完全分布式集群搭建

                            十、Hadoop集群配置

                            hadoop完全分布式集群各节点进程角色分配如下表所示:

                            masterslave1s;ave2
                            namenoderesourcemanagersecondarynamenode
                            datanodedatanodedatanode
                            nodemanagernodemanagernodemanager

                            1.修改core-site.xml文件

                            
                            fs.defaultFS
                            hdfs://master:8020
                            
                            
                            
                            hadoop.tmp.dir
                            /opt/module/hadoop-3.1.4/data
                            
                            
                            
                            hadoop.http.staticuser.user
                            root
                            
                            

                            这里的data文件夹需要我们自己创建,进入到对应的目录

                            cd /opt/module/hadoop-3.1.4/
                            mkdir data
                            

                            2.修改hdfs-site.xml文件

                            
                            dfs.namenode.http-address
                            master:9870
                            
                            
                            
                            dfs.namenode.secondary.http-address
                            slave2:9868
                            
                            
                            
                                dfs.permissions    
                                false
                            
                            

                            3.修改mapred-site.xml文件

                            
                            mapreduce.framework.name
                            yarn
                            
                            
                            
                            mapreduce.jobhistory.address
                            master:10020
                            
                            
                            
                            mapreduce.jobhistory.webapp.address
                            master:19888
                            
                            

                            4.修改yarn-site.xml文件

                            
                            yarn.nodemanager.aux-services
                            mapreduce_shuffle
                            
                            
                            
                            yarn.resourcemanager.hostname
                            slave1
                            
                            
                            
                            yarn.nodemanager.vmem-check-enabled
                            false
                            
                            

                            在任意目录下输入:hadoop classpath,复制返回的信息,并添加到如下value标签中

                             yarn.application.classpath
                             输入刚才返回的Hadoop classpath路径
                             
                            

                            5 修改workers文件

                            master
                            slave1
                            slave2
                            

                            6.修改环境变量相关设置

                            vi /etc/profile.d/my_env.sh
                            

                            添加hadoop为root用户,否则启动的HDFS的时候可能会报错.

                            添加如下内容:

                            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
                            

                            十一、格式化文件系统

                            初次启动HDFS集群时,必须对主节点进行格式化处理

                            格式化文件系统指令如下:

                            hdfs namenode -format
                            

                            十二、启动和关闭集群

                            1.hdfs的启动和关闭:(在主节点master上执行)

                            启动:start-dfs.sh
                            关闭:stop-dfs.sh
                            

                            2.启动yarn:(在主节点slave1上执行)

                            启动:start-yarn.sh
                            关闭:stop-yarn.sh
                            

                            验证平台搭建是否成功

                            需要在三台节点上分别敲入jps命令,如下图所示,说明搭建成功

                            Hadoop3.1.4完全分布式集群搭建

                            Hadoop3.1.4完全分布式集群搭建

                            Hadoop3.1.4完全分布式集群搭建

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

                            windows系统下通过浏览器输入master节点的ip地址+端口号可以进入HDFS的UI监控界面

                            1.windows操作系统下,配置hosts映射

                            进入C:\Windows\System32\drivers\etc,可以删掉hosts文件,然后在桌面新建一个文本文档,将映射关系写入后保存为文件名为hosts,然后复制粘贴到etc目录下。

                            192.168.15.130 master

                            192.168.15.131 slave1

                            192.168.15.132 slave2

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

                            Hadoop3.1.4完全分布式集群搭建

                            十四、配置时间同步服务

                            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节点上使用

                            systemctl start ntpd 启动ntp服务

                            systemctl enable ntpd 永久开启ntp服务

                            6.使用命令ntpdate master去同步master节点的时间

                            7.在slave1和slave2节点上启动ntp服务

                            systemctl start ntpd 启动ntp服务

                            systemctl enable ntpd永久开启ntp服务

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

                            1.yum常用的命令

                            install 安装RPM软件包

                            remove 删除RPM软件包(卸载)

                            2.参数

                            -y 对所有的提问都回答yes

                            3.配置本地yum源

                            (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)使用 mount /dev/sr0 /media/ 命令挂在本地yum源

                            (5)yum clean all 更新yum源

                            注意事项:

                            二次格式化hdfs,需要将data文件夹下的内容清空(直接删除data文件夹),还要删除logs文件夹下的内容(直接删除logs文件夹)

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]