Alluxio打包部署

機器需求

在這裏插入圖片描述
其中,master和zk可以共用機器。

alluxio源碼編譯打包

  • 本地編譯打包
    工程根目錄下的README文件:
    編譯:
mvn -T 2C clean install -DskipTests -Dmaven.javadoc.skip -Dfindbugs.skip -Dcheckstyle.skip -Dlicense.skip -Dchecksum.skip -Phadoop-2 -Dhadoop.version=2.6.0-cdh5.14.4

打包:

./dev/scripts/generate-tarballs single -hadoop-distribution=hadoop-2.6 -mvn-args "-Pspark,-Dhadoop.version=2.6.0-cdh5.14.4,-DskipTests,-Dmaven.javadoc.skip,-Dfindbugs.skip,-Dcheckstyle.skip,-Dlicense.skip,-Dchecksum.skip"

在工程根目錄下執行上面的編譯和打包命令,最後在根目錄下生成“alluxio-1.8.1.tar.gz”
將生成的alluxio包上傳到要進行部署的服務器上。

部署流程

  • 服務器初始化
    初始化系統參數,在所有服務器上執行:
#!/bin/bash
 s
echo 'vm.swappiness=0' >> /etc/sysctl.conf
sysctl -p
useradd hdfs
useradd alluxio
mkdir /var/log/alluxio /var/log/zookeeper /var/lib/zookeeper
 
chown -R hdfs:hdfs  /var/log/alluxio /var/log/zookeeper /var/lib/zookeeper
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
 
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
swapoff -a
cat << EOF >>/etc/sysctl.conf
vm.max_map_count = 262140
kernel.pid_max = 229376
net.core.somaxconn = 32768
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_abort_on_overflow = 1
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_max_tw_buckets = 10000
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_max_syn_backlog = 32768
net.ipv4.tcp_syncookies = 0
EOF
 
sysctl -p
yum install jdk1.8-1.8.0_192-fcs.x86_64 -y
  • 配置環境變量
    添加環境變量,修改/etc/profile,在所有服務器執行:
export JAVA_HOME=/usr/java/latest
export PATH=/opt/bigdata/app/zookeeper/bin:$JAVA_HOME/bin:/opt/bigdata/app/alluxio/bin:/usr/share/jmxtrans/bin:$PATH
 
export ALLUXIO_CONF_DIR=/opt/bigdata/conf/alluxio/conf
  • worker節點——存儲目錄初始化
    初始化worker服務器,在worker機器上執行:
#!/bin/bash
mkdir /mnt/ramdisk/
mkdir /var/log/alluxio
useradd hdfs
useradd alluxio
mount -t ramfs -o size=220g ramfs /mnt/ramdisk/
chown -R hdfs:hdfs /mnt/ramdisk/ /var/log/alluxio
chown -R hdfs:hdfs /data*
  • 部署zk

    部署並啓動完成後,檢查進程是否運行

  • 部署alluxio
    在所有服務器上部署,爲了方便管理,配置文件與包文件可以獨立開來。
    解壓前面上傳的alluxio包,將軟鏈指到新解壓的alluxio包,如下圖所示:
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RmBN1USK-1593931454046)(quiver-image-url/6527F9FC1A680C869EBC3A72BD967772.jpg =691x148)]

  1. alluxio-env.sh,根據集羣規模和機器配置調整進程jvm參數,不做敘述

  2. alluxio-site.properties,alluxio主配置文件,理論上一個集羣的所有機器配置保持一致,除非集羣中的worker有不同機型,需要分別進行管理,可自行查看線上配置,需要修改的配置項有:

alluxio.zookeeper.address #需要修改成對應的zk地址,每個集羣必須獨立
alluxio.master.journal.folder #修改成對應的地址,存放集羣journallog,每個集羣必須獨立

其它配置項可根據集羣實際情況考慮是否需要修改

  • 初始化集羣
    以上部署以及配置完成後,在集羣其中一臺服務器執行初始化(此操作會格式化集羣,切記不要對線上集羣進行操作,並且保證alluxio.master.journal.folder配置正確)
su - hdfs
alluxio format
  • 啓動集羣
    啓動master:
alluxio-start.sh master

啓動worker:

alluxio-start.sh worker NoMount
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章