阿里云环境准备
1.挂载磁盘
磁盘分区
在将磁盘或者磁盘分区用作物理卷(PV)之前,需要对其进行初始化工作,即进行磁盘分区操作;因磁盘分区需求大于2T,所以fdisk无法实现管理,需要使用parted命令来做磁盘分区管理;parted的详细使用方法请参考博主之前的博客:使用parted命令对磁盘进行分区
/dev/vdb
# 新建/dev/vdb的磁盘标签类型为GPT
[root@MYSQL-SERVER ~]# parted /dev/vdb mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
[root@MYSQL-SERVER ~]# parted /dev/vdb mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
/dev/sdc
# 新建/dev/sdc的磁盘标签类型为GPT
[root@MYSQL-SERVER ~]# parted /dev/vdc mklabel gpt
# 将/dev/sdc整个空间分给同一个分区
[root@MYSQL-SERVER ~]# parted /dev/vdc mkpart primary 0 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I
Information: You may need to update /etc/fstab.
创建物理卷
创建物理卷的命令为pvcreate;利用该命令将希望添加到卷组的所有分区或磁盘创建为物理卷;
yum -y install lvm2
将分区/dev/vdb和/dev/vdc分区创建为物理卷:
[root@MYSQL-SERVER ~]# pvcreate /dev/vdb1
Physical volume “/dev/sdb1” successfully created.
[root@MYSQL-SERVER ~]# pvcreate /dev/vdc1
Physical volume “/dev/sdc1” successfully created.
创建卷组
创建卷组的命令为vgcreate;用此命令将使用pvcreate建立的物理卷创建为一个完整的卷组;
将物理卷/dev/vdb1创建为一个名为vghadoop的卷组:
[root@MYSQL-SERVER ~]# vgcreate vghadoop /dev/vdb1
Volume group “vgmysql” successfully created
添加新的物理卷到卷组中
此步即为将2块磁盘空间合二为一的关键步骤;当系统中新增了磁盘或新建了物理卷,而要将其添加到已有卷组时,就可使用vgextend命令;
将物理卷/dev/vdc1添加到vgmysql卷组中:
[root@MYSQL-SERVER ~]# vgextend vghadoop /dev/vdc1
Volume group “vgmysql” successfully extended
查看卷组
查看卷组用vgs:
[root@MYSQL-SERVER ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vghadoop 2 0 0 wz–n- 10.74t 10.74t
从vgs命令的回显结果来看,卷组vgmysql成功添加,并且其总空间为两块物理磁盘的总大小(因换算单位不同,所以不是精确的10.74t)。
创建逻辑卷
创建逻辑卷的命令为lvcreate;用此命令将在使用vgcreate建立的卷组上创建逻辑卷;
在卷组vghadoop上创建一个名为vghadoop的逻辑卷,起大小为10.74t;
-n:指定逻辑卷名
-L:指定逻辑卷大小
[root@MYSQL-SERVER ~]# lvcreate -L 10.74t -n lvhadoop vghadoop
Rounding up size to full physical extent 10.74 TiB
Logical volume “lvhadoop” created.
格式化逻辑卷
将创建的lvmysql逻辑卷格式化为xfs
[root@MYSQL-SERVER ~]# mkfs.ext4 /dev/vghadoop/lvhadoop
创建挂载目录并挂载
创建挂载目录/data0
[root@MYSQL-SERVER ~]# mkdir /data0
挂载
[root@MYSQL-SERVER ~]# mount /dev/vghadoop/lvhadoop /data0
[root@MYSQL-SERVER ~]# blkid
[root@iz2zegp11ilqyc1gkvblc6z vghadoop]# blkid
/dev/vda1: UUID=“eb448abb-3012-4d8d-bcde-94434d586a31” TYPE=“ext4”
/dev/vdb1: UUID=“WOdFbB-3fjR-XP5u-i6rw-yog8-3fI0-uZVCDd” TYPE=“LVM2_member”
PARTLABEL=“primary” PARTUUID=“39d99206-85fc-4f54-9839-32eb619af04d”
/dev/vdc1: UUID=“eQTcFl-fnwG-CGut-S7AT-B5aX-Z3iK-jicICf” TYPE=“LVM2_member”
PARTLABEL=“primary” PARTUUID=“f3e733f4-a212-40d8-a1b9-f123677fcf12”
/dev/vdd: UUID=“e19d1252-2636-4edb-954f-5c06218f6ac7” TYPE=“ext4”
/dev/mapper/vghadoop-lvhadoop: UUID=“ad337f53-7f51-4c5d-b3a2-9abf6c031843”
TYPE=“ext4”
/dev/vde: UUID=“b8c3addc-1ff0-4d6c-98ae-3fa811fe7e43” TYPE=“ext4”
做开机自动挂载
vim /etc/fstab
echo UUID=ad337f53-7f51-4c5d-b3a2-9abf6c031843 /data0 ext4 defaults 0 0
其他磁盘暂不做lvm
/dev/vdb
# 新建/dev/vdb的磁盘标签类型为GPT
[root@MYSQL-SERVER ~]# parted /dev/vdd mklabel gpt
# 将/dev/sdb整个空间分给同一个分区
[root@MYSQL-SERVER ~]# parted /dev/vdd mkpart primary 0 100%
格式化分区
mkfs -t ext4 /dev/vdd1
mkdir /data1
mount /dev/vdd1 /data1
blkid
加入自动挂载/etc/fstab
2.修改字符集
vim /etc/locale.conf
LANG=“zh_CN.UTF-8”
3.修改主机名
[root@CentOS7 ~]# hostnamectl set-hostname 文件名
4.安装软件
yum install vim wget bash-completion lrzsz nmap nc tree htop iftop net-tools
telnet zip unzip -y
- 调整最大文件打开数
vi /etc/security/limits.conf
root soft nofile 102400
root hard nofile 102400
* soft nofile 102400
* hard nofile 102400
ulimit -n 断开ssh连接再连,就能看到变化
6重启
shutdown -r now
7.免密码登录的原理和配置
ssh不对称加密算法(加密和解密是两个文件)。(对称加密: 加密和解密文件是同一个)
创建hadoop用户
useradd hadoop
passwd hadoop
将新建的hadoop用户添加到hadoop用户组
usermod -a -G hadoop hadoop
前面hadoop指的是用户组名,后一个指的是用户名
vim /etc/sudoers
赋予hadoop用户root权限
su - hadoop
2.root用户
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop01
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop02
ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop03
3.linux ssh 非root用户免密码登录
ssh-keygen -t rsa
然后一路按回车键,最后在将id_rsa.pub写到authorized_keys,命令如下:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
在hadoop用户下,需要给authorized_keys赋予600的权限,不然免密码登陆无效。在其他节点只需要使用
ssh-keygen –t rsa
命令,生产对应的公钥,然后将各个节点的id_rsa.pub追加到nna节点的authorized_keys中。最后,将节点下的authorized_keys文件通过scp命令,分发到各个节点的
~/.ssh/ 目录下。目录如下:
# 这里以节点为例子
scp ~/.ssh/authorized_keys hadoop@hadoop01:~/.ssh/
然后使用ssh命令相互登录,看是否实现了免密码登录,登录命令如下:
# 这里以节点为例子
ssh hadoop01
若登录过程中木有提示需要输入密码,即表示密码配置成功。
注意:/home/hadoop 的权限为 700
.ssh 文件夹的权限也为700
authorized_keys 文件权限为600
否则,不能实现免密码登录。
8 .安装jdk
首先三台机器都切换到root用户
1.创建目录
mkdir /usr/lib/jvm/
上传jvm8
2.配置环境变量
export JAVA_HOME=/usr/lib/jvm
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.😒{JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
3.生效环境
source /etc/profile
4.修改bin目录下的执行权限
chmod -R 777 bin
5.查看是否安装成功
java -version
安装ZooKeeper
1.解压zookeeper(3台机器同时)在/server/tools
tar -zxvf zookeeper-3.4.10.tar.gz -C /application/
2.创建软连接(3台机器同时)切换/application目录下
ln -s zookeeper-3.4.10 zookeeper
3.修改配置文件