一、目的:
搭建Alluxio+GlusterFS集群。
二、环境:
5台虚拟机,CentOS Linux release 7.5.1804 (Core),内存3G,硬盘45G。
192.168.10.145 master145
192.168.10.148 slave148
192.168.10.149 slave149
192.168.10.158 client158
192.168.10.159 client159
三、前期准备:
3.1 安装jdk8或以上版本
https://blog.csdn.net/lynne_cat/article/details/102594531
3.2 ssh免密登录
https://blog.csdn.net/lynne_cat/article/details/102594531
注意:(2) 包含(1),无需重复执行。
(1)localhost免密登录
root用户执行以下命令检验是否可以ssh免密登录localhost:
ssh localhost
如果不可以,执行以下命令并重新检测:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
(2)节点间免密登录
1)root用户执行以下命令编辑/etc/ssh/sshd_config文件:
vim /etc/ssh/sshd_config
允许用公钥进行身份验证
本机保存的公钥的文件位置
解除监听端口、监听地址的屏蔽符
开启允许远程登录
2)root用户执行以下命令重启sshd服务:
/bin/systemctl restart sshd.service
3)root用户执行以下命令生成秘钥:
ssh-keygen -t rsa
此处如果直接按回车,则会生成名为id_rsa的key和id_rsa.pub的公钥。此处也可以输入key和公钥的新名字。
为了方便区分不同节点的公钥, 在文件后加上节点名,如id_rsa.pub145、id_rsa.pub148、id_rsa.pub149、id_rsa.pub158、id_rsa.pub159。
4)root用户在每个节点的/root/.ssh/路径下执行以下命令将该节点的公钥拷贝到其他4个节点的/root/.ssh/路径下:
# 例子:从192.168.10.145向192.168.10.148拷贝
scp -p id_rsa.pub145 root@192.168.10.148:/root/.ssh/id_rsa.pub145
5)root用户在每个节点的/root/.ssh/路径下执行以下命令将所有公钥加入自身认证:
cat id_rsa.pub145>>authorized_keys
cat id_rsa.pub148>>authorized_keys
cat id_rsa.pub149>>authorized_keys
cat id_rsa.pub158>>authorized_keys
cat id_rsa.pub159>>authorized_keys
6)root用户在每个节点执行以下命令重启sshd服务:
/bin/systemctl restart sshd.service
四、部署Alluxio+GlusterFS
4.1 安装配置Alluxio
4.1.1 master145、slave148、slave149集群配置
(1)集群概况
IP | hostname | Alluxio集群的角色 |
192.168.10.145 | master145 | Alluxio Worker |
192.168.10.148 | slave148 | Alluxio Worker |
192.168.10.149 | slave149 | Alluxio Master |
(2)解压安装包
在每个节点/usr/loca/下解压alluxio-2.1.0-bin.tar.gz,生成文件夹alluxio-2.1.0。
(3)配置alluxio-site.properties文件
alluxio.master.hostname=slave149
alluxio.master.mount.table.root.ufs=/data/gluster/app1-mydata
alluxio.worker.tieredstore.level0.dirs.path=/usr/local/alluxio-2.1.0/ramdisk
(4)配置alluxio-env.sh文件
# 可配可不配
ALLUXIO_HOME=/usr/local/alluxio-2.1.0/
ALLUXIO_MASTER_HOSTNAME=slave149
(5)配置masters文件
slave149
(6)配置workers文件
master145
slave148
(7)启动Alluxio集群
(8)测试Alluxio+GlusterFS集群
./alluxio runTests
第一次运行该命令会有多个任务无法通过测试;等待一段时间后重新运行该命令,全部任务可以通过测试。
4.1.2 master145、slave148、slave149、client158、client159集群配置
(1)集群概况
IP | hostname | Alluxio集群的角色 |
192.168.10.145 | master145 | Alluxio Worker |
192.168.10.148 | slave148 | Alluxio Worker |
192.168.10.149 | slave149 | Alluxio Worker |
192.168.10.158 | client158 | Alluxio Master |
192.168.10.159 | client159 | Alluxio Worker |
(2)解压安装包
在每个节点/usr/loca/下解压alluxio-2.1.0-bin.tar.gz,生成文件夹alluxio-2.1.0。
(3)配置alluxio-site.properties文件
alluxio.master.hostname=client158
alluxio.master.mount.table.root.ufs=/data/gluster/app1-mydata
alluxio.worker.tieredstore.level0.dirs.path=/usr/local/alluxio-2.1.0/ramdisk
(4)配置alluxio-env.sh文件
# 可配可不配
ALLUXIO_HOME=/usr/local/alluxio-2.1.0/
ALLUXIO_MASTER_HOSTNAME=client158
(5)配置masters文件
client158
(6)配置workers文件
master145
slave148
slave149
client159
(7)启动Alluxio集群
出现问题及解决方案:
序号 | 问题 | 解决方案 |
1. | worker、job_woker、proxy在192.168.10.149无法启动,在其他节点(145、148、159)均能正常启动。
| 方案: 将192.168.10.149的hostname更改为slave149: 结果:问题解决。 分析:该问题很诡异,其他节点(145、148、159)的hostname都与/etc/hosts的配置不一致,但是都可以正常启动。 |
(8)测试Alluxio+GlusterFS集群
./alluxio runTests
第一次运行该命令会有多个任务无法通过测试;等待一段时间后重新运行该命令,全部任务可以通过测试。