目录
本地源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