温馨提示:在您进行部署操作之前,请先仔细阅读《数栖平台使用前置条件说明》,确认您已满足数栖平台-执行代理部署所需环境。若您已做好相关准备工作,可按照以下步骤完成执行代理部署工作。
部署方式1:一键部署
#在执行代理服务器上使用有sudo权限的账号执行如下命令:
curl -s -o /tmp/install.sh http://s3.dtwave.com/download/install.sh && sudo bash /tmp/install.sh
部署方式2:手动部署
1.安装前检查
1.1 确认自己的集群类型和下载的执行代理安装包类型是否一致。
1.1.1 下载的执行代理安装包名即为集群类型,如果发现安装包名与集群类型不一致,请重新联系客服并索取正确的执行代理安装包下载地址。
2.准备基础环境(使用有root权限的账号操作)
2.1 关闭部署执行代理的服务器上的防火墙和selinux
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0
sudo sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
2.2 使用sudo权限的账号创建deploy用户并设置登录密码
sudo useradd deploy
sudo passwd deploy
2.3.建议单独挂载 {你的数据盘} 至/data/目录并配置开机自启(若已挂载数据盘则无需操作)
sudo mount {你的数据盘} /data
echo "mount {你的数据盘} /data" | sudo tee -a /etc/rc.d/rc.local > /dev/null
sudo chmod +x /etc/rc.d/rc.local
2.4.创建程序部署目录并授权给deploy用户
sudo mkdir -p /opt/third /opt/workspace /data/dubhe-node /opt/conf/dubhe-node /data/dsource /opt/conf/dsource
sudo chown -R deploy:deploy /opt/conf /opt/third /opt/workspace /data
2.5.部署jdk1.8环境
#安装jdk环境,请先将包放置到/opt/third/目录下
cd /opt/third
tar -zxvf jdk-8u144-linux-x64.tar.gz #根据您的实际jdk版本进行修改
ln -sfT ./jdk1.8.0_144 jdk #根据您的实际jdk版本进行修改
#配置单deploy用户的java环境变量
echo -e "export JAVA_HOME=/opt/third/jdk\nexport PATH=\$JAVA_HOME/bin:\$PATH" | sudo tee -a /home/deploy/.bashrc > /dev/null
sudo chown -R deploy:deploy /home/deploy/.bashrc /opt/third/jdk1.8.0_144 /opt/third/jdk
#验证安装是否正确,看到输出:java version "1.8.0_144"等字样即可
sudo su - deploy -c "source ~/.bashrc && java -version"
3.部署执行代理
注意:以下所有操作均请用deploy用户操作。“{version}” 为您实际获取到的安装包的版本号。
3.1. 部署datax/dipper-plugins/dsource-plugins,“{version}” 为您实际获取到的安装包的版本号。
#将datax-{version}.tgz,dipper-plugins-{version}.tgz,dsource-plugins-{version}.tgz三个压缩包放到/opt/third/并解压。
cd /opt/third/
tar -zxf datax-{version}.tgz
tar -zxf dipper-plugins-{version}.tgz
tar -zxf dsource-plugins-{version}.tgz
ln -sfT datax-{version} datax
ln -sfT dipper-plugins-{version} dipper-plugins
ln -sfT dsource-plugins-{version} dsource-plugins
vi /opt/third/datax/conf/.secret.properties
# 配置datax,根据注释提示进行填写,主要修改如下配置:
hadoop.plugin.default.vendor.name= #您的hadoop集群厂商的类型,请根据提示按实际情况修改。
#datax的其余配置项根据实际情况修改,一般无需修改。datax配置好如上配置即可,无需启动。
#dipper-plugins/dsource-plugins只需要解压并做好软链接,无需特殊配置,也无需启动。
3.2. 部署dubhe-node,“{version}” 为您实际获取到的dubhe-node安装包的版本号。
#请先将dubhe-node的压缩包放到/opt/workspace/
cd /opt/workspace/
tar -zxf dubhe-node-{version}.tgz
ln -sfT dubhe-node-{version} dubhe-node
mkdir -p /opt/workspace/dubhe-node/data/tmp
cp /opt/workspace/dubhe-node/conf/application.properties /opt/conf/dubhe-node/dubhe-node.properties
vi /opt/conf/dubhe-node/dubhe-node.properties
#然后根据注释提示填写配置文件,主要修改并确认如下配置:
cluster.vendor.type= #您的hadoop集群厂商类型
node.isNeedSigned=true #值修改为true
#登录 http://shuqi.dtwave.com/ent/account#/accessKey 查看并记录自己的accessKey和secretKey。
node.accessKey= #上面查看到的accessKey
node.secretKey= #上面查看到的secretKey
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/hive #hive的源数据库链接地址
spring.datasource.username=hive #hive的源数据库用户名
spring.datasource.password=hive #hive的源数据库密码
spi.plugin.path=/opt/third/dipper-plugins #dipper-plugins的部署目录
node.datax=/opt/third/datax #datax的部署目录
#最后启动服务:
cd /opt/workspace/dubhe-node && mkdir data/tmp && bash sbin/app.sh start
#验证,查询结果显示 "dubhe-node-provider-{version}.jar"等字样,即表示启动正常。
jps | grep dubhe-node
3.3. 部署dsource,“{version}” 为您实际获取到的dsource安装包的版本号。
#将dsource的压缩包放到/opt/workspace/
cd /opt/workspace/
tar -zxf dsource-{version}.tgz
ln -sfT dsource-{version} dsource
cp /opt/workspace/dsource/conf/application.properties /opt/conf/dsource/dsource-service.properties
vi /opt/conf/dsource/dsource-service.properties
#然后根据注释提示填写配置文件,主要修改如下配置
spi.plugin.default.vendor.name= #您的hadoop集群厂商类型
#登录 http://shuqi.dtwave.com/ent/account#/accessKey,查看并记录自己的accessKey和secretKey。
dsource.accessKey= #上面查看到的accessKey
dsource.secretKey= #上面查看到的secretKey
dsource.isNeedSigned=true #将值修改为true
spi.plugin.path=/opt/third/dsource-plugins #根据实际情况修改dsource-plugins的部署目录
#最后启动服务:
cd /opt/workspace/dsource && bash sbin/app.sh start
#验证,查询结果显示 "dsource-provider-{version}.jar"等字样,即表示启动正常。
jps | grep dsource
3.4. 开启kerberos的情况下
说明:开启kerberos的情况下,需要额外配置dubhe-node和dsource的配置,具体如下。
3.4.1.下载keytab认证信息并解压,将解压出来的user.keytab放到/etc/security/keytabs/下,解压出来的krb5.conf放到/etc/security/下
3.4.2.安装kerberos客户端
sudo yum install krb5-server krb5-libs krb5-workstation
3.4.3 根据下载的keytab查询对应的Principal
klist -ket /etc/security/keytabs/user.keytab
结果如下:
Keytab name: FILE:/etc/security/keytabs/user.keytab
KVNO Timestamp Principal
---- ------------------- ------------------------------------------------------
7 03/27/2019 20:16:46 test1@HADOOP.COM (aes256-cts-hmac-sha1-96)
7 03/27/2019 20:16:46 test1@HADOOP.COM (aes128-cts-hmac-sha1-96)
3.4.4.查找hiveserver2的Principal
在集群的hive-site.xml配置文件中找到“hive.server2.authentication.kerberos.principal”这个配置项的值。
vi hive-site.xml
-----------------------------------------------
<property>
<name>hive.server2.authentication.kerberos.principal</name>
<value>hive/hadoop.7333b9fe_1a81_41a5_9689_1c9306869c8e.com@7333B9FE_1A81_41A5_9689_1C9306869C8E.COM</value>
</property>
3.4.5.根据dubhe-node和dsource配置文件中的注释信息修改配置项,主要修改如下项:
security.auth.type= kerberos
keytab.dir=/etc/security/keytabs/
krb5.conf.path=/etc/krb5.conf
#通过kerberos认证使用的principal和keyTab,所有组件使用同一个
user.principal=test1@HADOOP.COM
user.keytab=/etc/security/keytabs/user.keytab
#hive Server2
hive.server2.principal=hive/hadoop.7333b9fe_1a81_41a5_9689_1c9306869c8e.com@7333B9FE_1A81_41A5_9689_1C9306869C8E.COM
3.4.6.按照上面的启动方式,重新启动dubhe-node和dsource服务。