现在apache ambari登上阁楼,apache项目中唯一还在坚挺的大数据开源发布版,只剩下bigtop一个。
bigtop部署hadoop stack,十分直观容易,接下来就是安装部署步骤,既可以通过docker来搭建本地任意节点个数的测试环境,又能直接通过puppet直接部署生产,现在我们就简要得介绍这两种部署方式。
一. 使用docker部署搭建本地分布式测试环境
1. 安装docker、docker-compose、git,并启动docker
yum install -y docker git
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
systemctl start docker
2.下载bigtop的代码
git clone https://github.com/apache/bigtop.git
3.直接进入bigtop代码目录
cd bigtop/provisioner/docker
./docker-hadoop.sh -c 3
上面命令创建了本地三个虚拟节点的hadoop,这个脚本还有其他有意思的命令,可见:bigtop-docker
二. puppet部署生产的分布式环境
1. 使用puppet部署要保证,每台节点都安装了puppet,每台节点都下载了bigtop的代码,每台节点都执行下面这个命令,确保puppet所需的puppet module安装了
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::puppet_modules"
2. 每个节点都要执行下面这些命令
cp bigtop-deploy/puppet/hiera.yaml /etc/puppet
mkdir -p /etc/puppet/hieradata
rsync -a --delete bigtop-deploy/puppet/hieradata/site.yaml bigtop-deploy/puppet/hieradata/bigtop /etc/puppet/hieradata/
3. 编辑 /etc/puppet/hieradata/site.yaml,设置hadoop头节点,hadoop存储路径,集群组件(spark, hive等),bigtop的repo链接,然后同步到每个节点,site.yaml如下所示
这里repo链接可以改成bigtop 3.0.0的
最后在每个节点运行下面这个命令启动puppet部署
puppet apply -d --parser future --modulepath="bigtop-deploy/puppet/modules:/etc/puppet/modules" bigtop-deploy/puppet/manifests
4. 验证安装成果
sudo -u hdfs hdfs dfsadmin -printTopology
yarn node -list
对于puppet部署方式,我们主要维护一个配置文件site.yaml来设置安装哪些组件,组件角色分配(比如哪些机器是master,哪些是worker),十分方便