1.修改主机名
hostnamectl set-hostname master(或 vi /etc/hostname) 需要重启后生效:reboot
2.配置NAT模式下的静态IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=''static''
ONBOOT="yes"
IPADDR=192.168.23.0 #(IP地址)
GATEWAY=192.168.23.2 # (网关)
NETMASK=255.255.255.0 #(子网掩码)
DNS1=GATEWAY
重新启动NAT:service network restart (重启后需要检查一下网络是否断开,若断开需要重新连接网络)
例:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="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="956e3c17-06fb-459b-8511-026f4cf6b83c"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.23.0
GATEWAY=192.168.23.2
NETMASK=255.255.255.0
DNS1=GATEWAY
3.修改主机名与IP地址的映射
vim /etc/hosts
文件末尾加入:
192.168.23.154 master
192.168.23.155 slave1
192.168.23.156 slave2
立即生效bash
4.关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
5.设置NTP时间同步:
安装时间同步协议NTP:yum install -y ntp
(1)配置master端时间:
选择时区:tzselect 5-9-1-1
修改配置文件1:vim /etc/ntp.conf
# 修改1(设置本地网络上的主机不受限制。)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
# 修改2(设置为不采用公共的服务器)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
# 添加3(添加默认的一个内部时钟数据,使用它为局域网用户提供服务。)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
修改配置文件2:vim /etc/sysconfig/ntpd
# 增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
(2) 配置slave(1.2)端同步master
编辑定时任务:crontab -e
编辑当前用户定时任务文件,定时10min:*/10 * * * * /usr/sbin/ntpdate master (*/10 * * * * /usr/sbin/ntpdate hadoop2)
(三个符号/、,、-分别表示每隔、时间点A和时间点B、时间点A到时间点B。)
定时:一月份到五月份每周3凌晨12:30~8:00每10分钟运行
*/10 0-8 * 1-5 * /usr/sbin/ntpdate master
查看定时任务:crontab -l
在/etc/crontab文件中可以查看定时任务代码机制,从左往右 每个*依次代表 分 时 日 月 星期
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
6.设置SSH免密
1->23
2->12
3->12
(1)生成秘钥文件:ssh-keygen
(2)将该授权文件authorized_keys文件复制到其余节点中:
cd ~/.ssh/
cat ./id_rsa.pub >> authorized_keys
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
7.安装jdk
【(1)-(5)均为master上操作】
(1)创建工作目录:mkdir /usr/java
(2)winSCP 上传jdk.tar.gz安装包
(3)解压压缩包:
就在此工作目录下进行以下语句操作即可
tar -zxvf jdk-8u171-linux-x64.tar.gz
(4)配置环境变量:vim /etc/profile
在末尾加入
/usr/java/jdk1.8.0_171
export JAVA_HOME=/usr/java/jdk1.8.0_171#对应自己的jdk目录
export PATH=$PATH:$JAVA_HOME/bin
(5)检验此节点java是否配置完成:
a.使用source对配置好的环境变量进行生效:source /etc/profile
b.java -version
6)将工作目录复制到其余节点:
scp -r /usr/java/ root@slave1:/usr/
scp -r /usr/java/ root@slave2:/usr/
(7)将配置文件复制到其余节点:
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
source /etc/profile
(8)在其余节点重复操作步骤(5)验证是否配置成功
8.安装zookeeper
【(1)-(6)均为master上操作】【一定要检查4步执行完永久关闭防火墙以后有没有重启!!】
(1)创建zookeeper工作目录:mkdir /usr/zookeeper
(2)winSCP上传压缩包
(3)解压压缩包:
就在此工作目录下进行以下语句操作即可
tar -zxvf zookeeper
(4)创建 快照日志 存放目录:mkdir dataDir
创建 事务日志 存放目录:mkdir dataLogDir
(5)修改配置文件:
(在zookeeper中配置zoo.cfg时不能用带汉字的,但是可以吧汉字转换为Unicode编码,如:dataDir=/root/\u684c\u9762/zookeeper/zookeeper-3.4.10/dataDir)
进入目录:cd conf
修改文件名称:mv zoo_sample.cfg zoo.cfg
vim编辑文件:vim zoo.cfg
修改文件:
存放数据文件:dataDir=/usr/zookeeper/zookeeper-3.4.10/dataDir(在文件里修改)
存放日志文件:dataLogDir=/usr/zookeeper/zookeeper-3.4.10/dataLogDir(在文件里附加)
(/usr/zookeeper/zookeeper-3.4.10/zkdatalog
/usr/zookeeper/zookeeper-3.4.10/zkdata)
在文件里追加以下三行(其中1、2、3为三台机器的myid):
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
(6)在创建的dataDir目录内写入(myid:echo "1" >/root/桌面/zookeeper/zookeeper-3.4.10/dataDir/myid)
cd /usr/zookeeper/zookeeper-3.4.10/dataDir
echo 1 >> m