DataSphere Studio安装部署流程(单机版)

一、什么是DataSphere Studio?

DataSphere Studio(简称DSS)是微众银行大数据平台——WeDataSphere,自研的一站式数据应用开发管理门户。

基于Linkis计算中间件构建,可轻松整合上层各数据应用系统,让数据应用开发变得简洁又易用。

二、安装准备

DSS部署分为精简版和标准版,本文主要介绍在Centos7上部署DSS-0.7.0标准版,标准版部署有一定的难度,

体现在Hadoop、Hive和Spark版本不同时,可能需要重新编译,可能会出现包冲突问题。

适合于试用和生产使用,2~3小时即可部署起来。

     支持的功能有:

  • 数据开发IDE - Scriptis

  • 工作流实时执行

  • 信号功能和邮件功能

  • 数据可视化 - Visualis

  • 数据质量 - Qualitis(单机版)

  • 工作流定时调度 - Azkaban(单机版)

  • Linkis管理台

三、基础环境准备

3.1、基础软件安装

下面的软件必装:

  • MySQL (5.5+),如何安装MySQL

  • JDK (1.8.0_141以上),如何安装JDK

  • Python(2.x和3.x都支持),如何安装Python

  • Nginx,如何安装Nginx

        下面的服务必须可从本机访问:

  • Hadoop(2.7.2,Hadoop其他版本需自行编译Linkis)

  • Hive(1.2.1,Hive其他版本需自行编译Linkis)

  • Spark(支持2.0以上所有版本)

3.1.1、部署MySQL

a、下载MySQL的rpm包

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

b、进行repo安装

rpm -ivh mysql57-community-release-el7-9.noarch.rpm

c、进入/etc/yum.repos.d执行

yum install mysql-server

d、启动MySQL

systemctl start mysqld

e、查看MySQL初始密码

rep 'password' /var/log/mysqld.log

f、修改密码

mysql -u root -p
set global validate_password_policy=0;
set global validate_password_length=1;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';

g、设置远程访问

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

3.1.2、安装JDK

a、下载JDK

b、进行repo安装

rpm -ivh jdk-8u241-linux-x64.rpm

c、配置环境变量,执行java -verbose查看jdk安装路径,编辑/etc/profile文件,添加一下内容,再执行source立即生效。

JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
JRE_HOME=/usr/java/jdk1.8.0_241-amd64/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

3.1.3、安装Python

因为本机已经自带python-2.7.5,python安装也比较简单,不在此处多加赘述。

3.1.4、安装Nginx

a、安装必要依赖

yum -y install gcc gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel

b、下载源码包

c、解压源码包

tar -zxvf nginx-1.9.9.tar.gz -C /usr/local

d、检查安装环境

cd nginx-1.9.9	
./configure --prefix=/usr/local/nginx

e、编译安装

make
make install

f、配置nginx服务启动

vi /etc/rc.d/init.d/nginx

添加一下内容:

#!/bin/sh
# nginx - this script starts and stops the nginx daemin
#
# chkconfig:   - 85 15
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /usr/local/nginx/conf/nginx.conf
# pidfile:     /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/usr/local/nginx/sbin/nginx

start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
 
restart() {
    configtest || return $?
    stop
    start
}
 
reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
 
force_reload() {
    restart
}
 
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
 
rh_status() {
    status $prog
}
 
rh_status_q() {
    rh_status >/dev/null 2>&1
}
 
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
 
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac
chkconfig --add nginx

g、配置环境变量

因为DSS在安装过程中会检测nginx,因此需要配置一个环境变量,以应对检测。

export PATH=$PATH:/usr/local/nginx/sbin

注意:如果使用hadoop普通用户启动,需要授权普通用户使用systemctl,具体操作如下:

进入/usr/share/polkit-1/actions/org.freedesktop.systemd1.policy,将对应manae-units的defaults中的授权全部改为yes,然后执行systemctl restart polkit重启polkit


    yes
    yes
    yes

3.1.5、安装hadoop

官方文档说,安装DSS的机器不要求必须安装Hadoop,但要求hdfs命令必须可用,如:hdfs dfs -ls /。我这里只有一台机器,就在本机上安装一个单机版的hadoop、hive和spark了。

a、下载安装包,我这里使用的是一键部署安装包,hadoop版本被指定为2.7.2,其他版本的需要自己编译Linkis。

b、解压安装包

tar -zxvf hadoop-2.7.5.tar.gz  -C /usr/local

c、配置环境变量

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

d、修改hadoop-env.sh文件,新增以下内容。

export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64

e、修改core-site.xml文件,添加以下内容。

    
        hadoop.tmp.dir
        file:usr/local/hadoop
        Abase for other temporary directories.
    
    
        fs.defaultFS
        hdfs://127.0.0.1:5001
    

f、修改hdfs-site.xml文件,添加以下内容。

    
        dfs.replication
        1
    
    
        dfs.namenode.name.dir
        file:usr/local/hadoop/tmp/dfs/name
    
    
        dfs.datanode.data.dir
        file:usr/local/hadoop/tmp/dfs/data
    

g、配置ssh免密

h、启动

第一次启动需要初始化HDFS:./bin/hdfs namenode -format
 ./sbin/start-dfs.sh

注意:如果使用普通用户hadoop的话,需要在hdfs中创建/tmp目录,并且这个目录所有者为hadoop用户。

3.1.6、安装hive

a、下载安装包

wget http://mirrors.cnnic.cn/apache/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz

b、解压安装包(注意:此处有一个小坑,hive目录必须带1.2字样,不然DSS安装前检查不过,我使用的是hive-1.2.1)

tar  -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/local

c、下载MySQL驱动包,放在/usr/local/hive/lib目录下。

d、创建hive-site.xml文件,并添加以下内容。




 
    javax.jdo.option.ConnectionURL
    jdbc:mysql://192.168.100.188:3306/dss


    javax.jdo.option.ConnectionDriverName
    com.mysql.jdbc.Driver


    javax.jdo.option.ConnectionUserName
    root


    javax.jdo.option.ConnectionPassword
    root


  system:java.io.tmpdir
    /usr/local/hadoop/iotmp
   


  system:user.name
    hive_user

e、配置环境变量

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

f、初始化数据库

schematool -dbType mysql -initSchema

g、测试

./bin/hive

3.1.7、安装spark

a、下载安装

b、解压安装包

tar -zxvf spark-2.1.2-bin-hadoop2.7.tgz

c、修改spark-env.sh文件

cp spark-env.sh.template spark-env.sh

末尾添加以下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
export SPARK_MASTER_IP=192.168.100.188
export SPARK_WORKER_MEMORY=2g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1

d、配置环境变量

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin

e、启动

./sbin/start-master.sh

3.2、系统环境准备

3.2.1、创建用户

a、创建一个hadoop用户

sudo useradd hadoop

b、设置权限

vi /etc/sudoers

添加以下内容:

hadoop  ALL=(ALL)       NOPASSWD: NOPASSWD: ALL

c、修改安装用户hadoop的.bash_rc,命令如下:

vim /home/hadoop/.bash_rc

添加以下内容:

#JDK
export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64
#HADOOP
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
#Hive
export HIVE_CONF_DIR=/usr/local/hive-1.2.1/conf
#Spark
export SPARK_HOME=/usr/local/spark
export SPARK_CONF_DIR=/usr/local/spark/config
export PYSPARK_ALLOW_INSECURE_GATEWAY=1  # Pyspark必须加的参数

四、安装DSS

4.1、安装包准备

我使用的是DSS & Linkis全家桶一键部署安装包(约1.3GB),(点击进入下载页面),安装包内容如下:

├── dss_linkis # 一键部署主目录
 ├── backup # 用于兼容Linkis老版本的安装启动脚本
 ├── bin # 用于一键安装启动DSS+Linkis
 ├── conf # 一键部署的配置文件
 ├── azkaban-solo-server-x.x.x.tar.gz #azkaban安装包
 ├── linkis-jobtype-x.x.x.zip #linkis jobtype安装包
 ├── wedatasphere-dss-x.x.x-dist.tar.gz # DSS后台安装包
 ├── wedatasphere-dss-web-x.x.x-dist.zip # DSS前端安装包
 ├── wedatasphere-linkis-x.x.x-dist.tar.gz # Linkis安装包
 ├── wedatasphere-qualitis-x.x.x.zip # Qualitis安装包

4.2、安装(使用hadoop用户)

a、解压安装包

tar -zxvf dss_linkis.tar.gz

b、修改conf/config.sh文件,

cp conf/config.sh.stand.template conf/config.sh

内容如下,对照修改。

WORKSPACE_USER_ROOT_PATH=file:///tmp/linkis/ ##本地工作空间路径,默认为本地路径,尽量提前创建并授于写权限
HDFS_USER_ROOT_PATH=hdfs:///tmp/linkis ##hdfs工作空间路径,默认为本地路径,尽量提前创建并授于写权限
RESULT_SET_ROOT_PATH=hdfs:///tmp/linkis ##结果集路径,默认为本地路径,尽量提前创建并授于写权限
WDS_SCHEDULER_PATH=file:///tmp/wds/scheduler ##DSS工程转换为azkaban工程后的存储路径
#DSS Web,注意distribution.sh中VISUALIS_NGINX的IP和端口必须和此处保持一致
DSS_NGINX_IP=127.0.0.1 #DSS Nginx访问IP
DSS_WEB_PORT=8088 #DSS Web页面访问端口
##hive metastore的地址
HIVE_META_URL=jdbc:mysql://127.0.0.1:3306/dss?useUnicode=true
HIVE_META_USER=root
HIVE_META_PASSWORD=root
###hadoop配置文件目录
HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
###hive配置文件目录
HIVE_CONF_DIR=/usr/local/hive-1.2.1/conf
###spark配置文件目录
SPARK_CONF_DIR=/usr/local/spark/conf
###azkaban服务端IP地址及端口,单机版安装时请勿修改
AZKABAN_ADRESS_IP=127.0.0.1
AZKABAN_ADRESS_PORT=8081
####Qualitis服务端IP地址及端口,单机版安装时请勿修改
QUALITIS_ADRESS_IP=127.0.0.1
QUALITIS_ADRESS_PORT=8090

c、修改db.sh文件

MYSQL_HOST=192.168.100.188
MYSQL_PORT=3306
MYSQL_DB=dss
MYSQL_USER=root
MYSQL_PASSWORD=root

d、执行安装脚本

sh bin/install.sh

e、启动

sh bin/start-all.sh > start.log 2>start_error.log

f、访问地址:http://192.168.100.188:8088/

 

注意:DSS安装脚本中有一些小缺陷,如果安装不顺利,可以仔细阅读下脚本,有助于对DSS结构更好的理解。

 

五、云资源

DSS + Linkis + Qualitis + Visualis + Azkaban【全家桶一键部署安装包】,由于安装包过大(1.3GB),Github下载缓慢,请通过以下方式获取

Baidu cloud:

  • 百度云链接:https://pan.baidu.com/s/1hmxuJtyY72D5X_dZoQIE5g

  • Password: p82h

Tencent Cloud:

  • 腾讯云链接:https://share.weiyun.com/5vpLr9t

  • Password: upqgib

DSS&Linkis 一键部署脚本

  • URL:https://share.weiyun.com/5Qvl07X

以下为Linkis安装包资源:

  • 腾讯云链接:https://share.weiyun.com/5Gjz0zU

  • 密码:9vctqg

  • 百度云链: https://pan.baidu.com/s/1uuogWgLE9r8EcGROkRNeKg

  • 密码:pwbz

以下为DSS安装包资源:

  • 腾讯云链接:https://share.weiyun.com/5n2GD0h

  • 密码:p8f4ug

  • 百度云链接:https://pan.baidu.com/s/18H8P75Y-cSEsW-doVRyAJQ

  • 密码:pnnj

附Qualitis及Azkaban单机版安装包资源:

  • 腾讯云链接:https://share.weiyun.com/5fBPVIV

  • 密码:cwnhgw

  • 百度云链接:https://pan.baidu.com/s/1DYvm_KTljQpbdk6ZPx6K9g

  • 密码:3lnk

 

你可能感兴趣的:(Java,大数据)