IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> hadoop3.1.3的集群搭建 -> 正文阅读

[系统运维]hadoop3.1.3的集群搭建

linux的集群搭建

1.注意事项
windows系统确认所有的关于VmWare的服务都已经启动
右键“我的电脑”->“管理”
在这里插入图片描述

在这里插入图片描述

确认好VmWare生成的网关地址
在这里插入图片描述
在这里插入图片描述

这里设置网关为192.168.121.2,子网ip:192.168.121.0,子网掩码:255.255.255.0

2.vmware创建centos虚拟机hadoop04
2.1 设置主机名为hadoop04
使用 vim编辑器打开 /etc/hostname 文件

#vim /etc/hostname

删除文件中原有内容,添加内容主机名:hadoop04,保存退出(wq!)

2.2设置静态网络
更改虚拟机静态ip,例如hadoop04
打开网卡配置文件修改内容

vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"           #配置静态 ip选项,默认为 dhcp模式改为static
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="58d5bd5f-0c03-4e8d-8614-ce18b09d18b4"
DEVICE="ens33"
ONBOOT="yes"         #启动网卡 将no改为yes
IPADDR=192.168.121.4   #静态 ip
NETMASK=255.255.255.0    #子网掩码
GATEWAY=192.168.121.2     #网关,需要在虚拟机网络编辑中 NAT模式查看到
DNS1=8.8.8.8              #DNS

2.3设置主机名及IP映射
使用 vim 编辑器打开 /etc/hosts 文件

vim /etc/hosts

在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出(wq!)

192.168.121.4 hadoop04
192.168.121.5 hadoop05
192.168.121.6 hadoop06

设置完成后,重启网路服务

reboot

2.4使用 ping 命令 ping 主机名

 ping hadoop04

如果可以ping 通,表示设置成功
2.5虚拟机关闭防火墙

查看防火墙状态
#systemctl status firewalld.service
关闭防火墙#systemctl stop firewalld.service
停止并禁用开机启动# systemctl disable firewalld.service

2.6 关闭selinux

修改selinux的配置文件
vim /etc/selinux/config,保存退出
在这里插入图片描述
完成以上步骤后将hadooop04克隆出hadoop05和hadoop06,然后记得修改hadoop05、hadoop06的主机名和静态ip为192.168.121.5和192.168.121.6再重启网络
2.7ssh免密钥登陆
私钥:密钥留在本机
公钥:密钥发给本机
在hadoop04

生成密钥:ssh-keygen //一直回车键


发送私钥(本机):ssh-copy-id haadoop04
发送公钥(其他计算机):ssh-copy-id (其他计算机主机名)


测试免密钥登陆:
ssh localhost
ssh (其他计算机主机名)

辅助软件安装

hadoop04机器JDK安装
1.1 查看自带的openjdk并卸载

rpm -qa | grep java

1.2 创建安装目录
mkdir -p /opt/software #软件包存放目录
mkdir -p /opt/module #安装目录
1.3上传并 解压
#上传jdk/opt/software到路径下去,并解压

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

1.4 配置环境变量
vim /etc/profile

//添加如下内容
export JAVA_HOME=/opt/module/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
//修改完成之后记得 source /etc/profile生效
//java version 检查

然后使用该命令jdk和/etc/profile拷贝到每台机器上与hadoop04相同的路径上

scp - r jdk1.8.0_161 root@hadoop04 : /opt/module

集群规划

  			hadoop04			hadoop05			hadoop06

   HADFS	NameNode								SecondaryNameNode
  			DataNode			DataNode			DataNode

   YARN							ResourceManager		
  			NodeManager			NodeManager			NodeManager

因为namenode、resourcemanager、secondarynamenode占用资源大,所以我将它们安排在不同的节点 上
在这里插入图片描述

hadoop安装

第一步:下载安装包并解压
先将下载的hadoop-3.1.3.tar.gz安装包上传到主节点hadoop04的/opt/software目录下,然后将文件解压到/opt/module/目录,具体指令如下。
#cd /opt/software/
#tar -zxvf hadoop-3.1.3.tar.gz -C …/module/

第二步:配置hadoop系统环境变量
#vim /etc/profile

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

保存退出,令配置文件生效

#source /etc/profile
#hadoop version  ##hadoop环境验证

hadoop配置

这里需要配置五个文件
1.hadoop-env.sh
在这里插入图片描述
配置自己的jdk路径然后在末尾添加以下

export JAVA_HOME=$JAVA_HOME
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

2.core-site.xml

<configuration>
        <!--用于设置Hadoop的文件系统,由URI指定-->
        <property>
                <name>fs.defaultFS</name>
                <!--用于指定namenode地址在hadoop01机器上-->
                <value>hdfs://hadoop04:9000</value>
        </property>
        <!--配置hadoop临时目录,默认/tmp/hadoop-${user.name}-->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/module/hadoop-3.1.3/data</value>
        </property>
</configuration>

3.hdfs-site.xml

<configuration>

        <!-- 指定HDFS副本的数量-->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>

        <!-- secondary namenode所在主机的IP和端口 -->
         <property>
                  <name>dfs.namenode.secondary.http-address</name>
                  <value>hadoop06:50090</value>
        </property>

        <!-- 指定namenode的访问地址和端口 -->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop04:50070</value>
        </property>

        <!-- 设置HDFS的文件权限,默认是false-->
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>

        <!-- 设置一个文件切片的大小:默认128M-->
        <property>
                <name>dfs.blocksize</name>
                <value>134217728</value>
        </property>
</configuration>

4.yarn-site.xml

<configuration>
        <!-- 指定YARN集群的管理者(ResourceManager)的地址 -->
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>hadoop05</value>
        </property>

        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>


        <![CDATA[
        <property>
                <!-- 定义NodeManager上要提供给正在运行的容器的全部可用资源大小,默认是8192MB -->    
                <name>yarn.nodemanager.resource.memory-mb</name>    
                <value>2048</value>
        </property>

        <property>  
                <!-- 资源管理器中分配给每个容器请求的最小内存限制,默认是1024MB -->
                <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
        </property>
        <property>
                <!-- NodeManager可以分配的CPU核数-->
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>1</value>
        </property>
        <property>
                <!-- 开启日志聚合功能 -->
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>
        
        <property>
                <!-- 设置聚合日志在hdfs上的保存时间 -->
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
        </property>
        ]]>
        <property>
                <!-- 开启日志聚合功能 -->
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
        </property>

</configuration>

5.mapred-site.xml

<configuration>
        <!-- 指定MapReduce运行时框架,这里指定在YARN上,默认是local -->
        <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
        </property>

        <!-- 设置历史任务的主机和端口 -->
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop04:10020</value>
        </property>

        <!-- 设置网页访问历史任务的主机和端口 -->
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop04:19888</value>
        </property>
</configuration>

5 workers

hadoop04
hadoop05
hadoop06

配置完以上文件后将使用以下命令将hadoop3.1.3拷贝到其他服务器上(hadoop05、hadoop06)
注意要拷贝到相同的路径上,然后再拷贝环境变量的配置文件
#scp /etc/profile hadoop05:/etc/profile
#scp /etc/profile hadoop06:/etc/profile
#scp -r /opt/module/ hadoop05:/opt
#scp -r /opt/module/ hadoop06:/opt
然后#source /etc/profile 让环境生效
hadoop格式化
格式化一般进行一次,不然格式化多次数据丢失,如果再次格式化时先关闭集群然后每台的路径/opt/module/hadoop-3.1.3下的datalogs删掉再格式化,,,在hdoop04上面进行格式化。

hdfs namenode -format          

启动hadoop

start-dfs.sh //在hadoop04启动
start-yarn.sh   //在hadoop05启动 

不能用start-all.sh因为resourcemanager和namenode不在同一台机器上
使用该命令可能会爆以下错误
在这里插入图片描述
web ui查看hadoop集群

  http://hadoop04:50070
   http://hadoop05:8088   
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:20:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 19:54:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码