大数据——集群搭建

目录

本地源yum

基础配置-防火墙等

远程登陆-ssh

语言环境-java

协调系统-ZK

集群安装-Hadoop

 

1本地源

Centos自带的YUM源更新太慢,可以使用更改本地源的方法来安装软件。我们通常使用 yum install 命令来在线安装 linux系统的软件, 这种方式可以自动处理依赖性关系,并且一次安装所有依赖的软体包。

yum 的配置文件在 /etc/yum.repos.d 目录下, 其中有多个配置文件,每一个配置文件中都可以配置一个或多个repository。yum仓库就是使用yum命令下载软件的镜像地址。

国内的仓库可以使用阿里源、163、清华大学等。(进入到 /etc/yum.repos.d,然后把源文件下载到该目录)

2基础环境配置

2.1防火墙

关闭防火墙:systemctl stop firewalld

查看状态:systemctl status firewalld

centos7中防火墙命令用firewalld取代了iptables,当其状态是dead时,即防火墙关闭。

2.2主机名与映射

修改主机名:hostnamectl set-hostname <hostsname>

立即生效:bash

添加映射:vim /etc/hosts

ip地址 主机名

192.168.43.1 master

192.168.43.2 slaver1

192.168.43.3 slaver2

2.3时区

tzselect命令用于选择时区。tzselect只是帮我们把选择的时区显示出来,并不会实际生效,也就是说它仅仅告诉我们怎么样去设置环境变量TZ。

 

如果要永久更改时区,按照tzselect命令提示的信息,在.profile或者/etc/profile中设置正确的TZ环境变量并生效。

设置TZ环境变量:TZ='Asia/Shanghai'; export TZ

 

 2.4时间同步

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。NTP服务器就是利用NTP协议提供时间同步服务的。

ntp软件(支持ntp协议) CentOS6自带CentOS7需要安装的。

安装ntp:yum install -y ntp

master修改文件/etc/ntp.conf,默认的一个内部时钟数据,用在没有外部 NTP 服务器时,使用它为局域网用户提供服务:

#文件/etc/ntp.conf
#server 210.72.145.44      #中国国家授时中心的IP 
server 127.127.1.0         # local clock 
fudge 127.127.1.0 stratum 1

slaves手动同步时间

ntpdate master   # 同步master上的时间

 2.5定时任务

crontab是用来定期执行程序的命令:

星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

写一个定时任务:crontab -e

键入 i ,进入编辑模式

输入内容:*/10 * * * * usr/sbin/ntpdate master

查看定时任务列表:crontab -l

2.6远程登陆-ssh

 

 

 

 注意:如果是非root用户,需要修改文件权限
chmod 600 ~/.ssh/authorized_keys

语言环境-java

创建工作目录:mkdir -p /usr/java

解压:tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/java/

环境变量:/etc/profile

 

 source /etc/profile(生效)

2.7协调服务zookeeper

网站架构逐渐从集中式转变成分布式,提供更强的计算、存储能力,避免单点故障等问题。

举例说明:当有一项任务分配到某个团队之后,团队内部的成员开始各司其职,然后把工作结果统一汇总给团队主管,由团队主管再整理团队的工作成果汇报给公司。

人遇到问题可以沟通,机器如何沟通?如何保证分布式系统中保证数据的一致性和可用性?

zookeeper就是各个服务或节点之间进行协调的服务或中间人,同步数据,同步信息;

 

 下载解压zoo安装包,工作路径:/usr/zookeeper,注意修改环境变量/etc/profile。

 

 配置文件zoo.cfg

tickTime=2000   #心跳间隔
​
initLimit=10        #最大初始时间限制10倍心跳
​
syncLimit=5       #请求应答时长5倍心跳
​
dataDir=/usr/zookeeper/zookeeper-3.4.14/zkdata   # 数据目录
clientPort=2181  #客户端、服务端连接端口
dataLogDir=/usr/zookeeper/zookeeper-3.4.14/zkdatalog   #日志目录
​
server.1=master:2888:3888   #集群列表
server.2=slave1:2888:3888
server.3=slave2:2888:3888

dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机。

注意:mkdir zkdata zkdatalog

 

 

 2.8Hadoop安装

下载解压Hadoop安装包,工作路径:/usr/hadoop,注意修改环境变量/etc/profile。

 

 

  • hadoop-env.sh 用来定义Hadoop运行环境相关的配置信息;
  • core-site.xml 定义系统级别的参数,包括HDFS URL、Hadoop临时目录等;
  •  

     

  • hdfs-site.xml 定义名称节点、数据节点的存放位置、文本副本的个数、文件读取权限等;
  •  

     

  • mapred-site.xml MapReduce参数
  •  

     

  • yarn-site.xml 集群资源管理系统参数配置
  •  

     

  • master文件,slaves文件
  • 格式化并启动Hadoop
  •  

    • 2.9添加删除节点
  • 添加节点
  •  

     

  • 修改所有的slaves文件:添加slave3
  • 启动DataNode进程:hadoop-daemon.sh start datanode
  • 启动nodemanage:yarn-deamon.sh start nodemanager

  •  

     

  • 删除节点
  •  

     

  • master主机中hdfs-site.xml配置---dfs.hosts.exclude

  •  

     

     

     

  •  

    主节点刷新所有DataNode:hdfs dfsadmin -refreshNodes

    关闭DataNode进程:hadoop-daemon.sh stop datanode

    关闭nodemanage:yarn-daemon.sh stop nodemanager

 

posted @ 2021-12-02 10:30  15python  阅读(162)  评论(0编辑  收藏  举报