写在前面~ 最近的一段时间内我会做HDFS、Alluxio、HBase相关的开发工作,我会继续学习并分享不限于这些组件的知识!
正常来说,搭建个集群环境根本不需要专门写个文章。但是这次我必须写,顺带必须小吐槽一下:Alluxio官方文档搭建集群教程省略了非常非常多的细节和步骤!我不信有人能照着那个教程安装成功!!挂个链,不服可以挑战一下这个网站~https://docs.alluxio.io/os/user/stable/en/deploy/Running-Alluxio-On-a-Cluster.html
一、初始环境描述
节点个数:3台(三台机器配置相同)
内存:250G
cpu数量:40
HDFS版本:3.1.0
Alluxio版本:v2.6(stable)
下载地址:https://www.alluxio.io/download/
角色分配:
test3节点为master
test1、test2节点为worker
tips1:搭建之前要确保master可以SSH免密登录到works上。
tips2: 搭建之前将所有节点的hostname配置好,最好再将hostname和ip的映射关系写入/etc/hosts文件中,方便各个节点互知。
二、开始搭建
- 解压官网download下来的tar包。
tar -zvxf alluxio-2.6.0-bin.tar.gz
- 配置项相关
①首先编辑conf/master和conf/workers这两个文件,分别配置为master节点的hostname和worker节点的hostname。
master文件中配置主节点的hostname,本例为:
test03.xxx.xxx
workers文件中配置worker的hostname列表,每行一个。本例为:
test01.xxx.xxx
test02.xxx.xxx
②编辑alluxio-site.properties配置文件
我下载的版本,解压后的conf目录下是没有这个文件的,只有alluxio-site.properties.template 模板文件,根据模板文件拷贝一份,在模板的基础上修改。执行如下命令拷贝:
hadoop@sg-olap-test3:/home/zhanghaobo/alluxio-2.6.0$ cp conf/alluxio-site.properties.template conf/alluxio-site.properties
然后修改以下配置(根据你的实际情况)
# Common properties
# 这里是alluxio主节点hostname
alluxio.master.hostname=test03.xxx.xxx
# 这里是挂载的hdfs路径
alluxio.master.mount.table.root.ufs=hdfs://sg-olap-test
# 这里是HDFS的配置文件,用:分隔
alluxio.underfs.hdfs.configuration=/etc/hadoop/conf/core-site.xml:/etc/hadoop/conf/hdfs-site.xml
alluxio.debug=true
#下面这两个跟安全相关,直接先复制即可
alluxio.security.authorization.permission.enabled=false
alluxio.security.authentication.type=NOSASL
# Worker properties
# 有几个层级的存储就写几,比如我们要配置的只有level0一层,就写1
alluxio.worker.tieredstore.levels=1
alluxio.worker.tieredstore.level0.alias=SSD
# 设置每个目录的quota大小
alluxio.worker.tieredstore.level0.dirs.quota=3200GB
# 设置level0这层的路径
alluxio.worker.tieredstore.level0.dirs.path=/data1/alluxio/alluxio-blockpool,/data2/alluxio/alluxio-blockpool,/data3/alluxio/alluxio-blockpool,/data4/alluxio/alluxio-blockpool,/data5/alluxio/alluxio-blockpool,/data6/alluxio/alluxio-blockpool,/data7/alluxio/alluxio-blockpool,/data8/alluxio/alluxio-blockpool,/data9/alluxio/alluxio-blockpool,/data10/alluxio/alluxio-blockpool,/data11/alluxio/alluxio-blockpool,/data12/alluxio/alluxio-blockpool,/data13/alluxio/alluxio-blockpool,/data14/alluxio/alluxio-blockpool,/data15/alluxio/alluxio-blockpool,/data16/alluxio/alluxio-blockpool
# 设置web端口号,可以不加,使用默认的30000,我们是因为端口冲突启动不起来才换的40000
alluxio.worker.web.port=40000
注意上面我们配置了level0从/data1到/data16的目录,需要提前创建。因此使用如下脚本创建/data*/alluxio/alluxio-blockpool目录,并修改正确的目录属主
#!/bin/bash
for i in {1..16}
do
echo $i
sudo mkdir -p /data$i/alluxio/alluxio-blockpool/
done
sudo chown -R hadoop:hdfs /data*/alluxio
基础配置就上面这么多,后面根据集群需要再改。
把包含最新配置的整个alluxio解压的文件夹上传到其他节点。
- 启动
在master节点上的alluxio目录中执行:
./bin/alluxio-start.sh all
等待启动成功后即可。启动成功会有如下日志:
访问web ui:
其中Workers Capacity列可以看到是50T ,正好等于 3200G * 16 = 51200G。