trafodion(esgynDB)离线安装

来源:互联网 发布:ubuntu gcc安装包下载 编辑:程序博客网 时间:2024/05/21 19:49

trafodion官网:
http://trafodion.incubator.apache.org/index.html

一、 准备阶段
主要包括提前下载需要安装的cm和cdh、esgynDB的包以及其依赖的包。
cm包:
这里写图片描述
cdh包:
这里写图片描述
esgynDB包:
dev.zip为python installer(对应开源版本为apache-trafodion_pyinstaller-*-incubating.tar.gz)。
esgynDB_installer-2.2.2-RH6.tar.gz为shell installer(对应开源版本为trafodion_install*.tar.gz)。
Installer为shell installer解压之后的directory。
Nari_POC_*N_201705.lic是安装需要的licence(开源版本不需要licence)。
esgynDB_adv_server-2.2.2-RH6-x86_64.tar.gz(对应开源版本为apache-trafodion_server-*-RH6-x86_64-incubating.tar.gz)
这里写图片描述
coudera依赖包:
这里写图片描述
这里写图片描述
这里写图片描述
esgynDB依赖包:
这里写图片描述
Ps:
kerberos依赖包:
yum install –downloadonly –downloaddir=/home/centos/repo/Kerberos krb5-server krb5-libs krb5-auth-dialog krb5-workstation
这里写图片描述
这里写图片描述
这里写图片描述
如果需要使用python installer安装需要依赖包:
offlineansible1.92.zip
下载地址:https://github.com/mkby/offlineansible1.92/archive/offlineansible1.92.zip

二、 本地临时yum源建立(10.10.20.1)
rpm包放置目录创建:
mkdir -p /repo_dir/
cd repo_dir/
mkdir -p cloudera/cm_repo
mkdir -p cloudera/dependencies
mkdir -p cloudera/dependencies/el6/
mkdir -p esgyndb/dependencies/el6/
建立yum需要安装createrepo,使用rpm安装:
在外网环境下提前准备安装包,首先下载安装包
yum install –downloadonly –downloaddir=/home/centos/repo/createrepo createrepo
安装createrepo
rpm -ivh deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
rpm -ivh createrepo-0.9.9-26.el6.noarch.rpm
创建相关元数据信息并启动http服务:
createrepo -v /repo_dir
cd /repo_dir
nohup python -m SimpleHTTPServer 8910 &

配置yum位置(所有需要访问yum的内网服务器均需要配置):
vi /etc/yum.repos.d/esgyn.repo
[cm]
name=cloudera Manager Repo
baseurl=http://10.10.20.1:8910
gpgcheck=0
enable=1

然后把此配置拷贝到所有的集群节点。

三、 基础环境配置准备
配置ssh免密码登录,一般管理节点可以免密码登录到其他节点就可以了(方便操作)。

格式化硬盘与挂载盘(请根据自己的硬盘情况进行挂载,如果已经完成磁盘挂载,请跳过此步骤)
mkdir /disk1 /disk2 /disk3 /disk4 /disk5 /disk6
mkfs.ext4 /dev/sdb
mkfs.ext4 /dev/sdc
mkfs.ext4 /dev/sdd
mkfs.ext4 /dev/sde
mkfs.ext4 /dev/sdf
mkfs.ext4 /dev/sdg
/bin/mount /dev/sdb /disk1
/bin/mount /dev/sdc /disk2
/bin/mount /dev/sdd /disk3
/bin/mount /dev/sde /disk4
/bin/mount /dev/sdf /disk5
/bin/mount /dev/sdg /disk6

配置开机自动挂载磁盘
vi /etc/rc.local
/bin/mount /dev/sdb /disk1
/bin/mount /dev/sdc /disk2
/bin/mount /dev/sdd /disk3
/bin/mount /dev/sde /disk4
/bin/mount /dev/sdf /disk5
/bin/mount /dev/sdg /disk6

配置hostname
vi /etc/sysconfig/network
例如:
NETWORKING=yes
NOZEROCONF=yes
HOSTNAME=esgyn-1.localdomain

配置hosts
vi /etc/hosts
10.10.20.1 esgyn-1.localdomain esgyn-1
10.10.20.2 esgyn-2.localdomain esgyn-2
10.10.20.3 esgyn-3.localdomain esgyn-3
10.10.20.4 esgyn-4.localdomain esgyn-4
10.10.20.5 esgyn-5.localdomain esgyn-5
10.10.20.6 esgyn-6.localdomain esgyn-6
10.10.20.7 esgyn-7.localdomain esgyn-7
10.10.20.8 esgyn-8.localdomain esgyn-8
10.10.20.9 esgyn-8.localdomain esgyn-9

配置iptables关闭(所有机器执行)
service iptables stop
chkconfig iptables off

配置selinux关闭(所有机器执行)
setenforce 0
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

安装并开启ntp服务(所有机器执行)
yum install ntp -y
service ntpd start
chkconfig ntpd on

卸载系统自带jdk并且安装jdk1.8(因为trafodion的此版本依赖jdk1.8,这里统一使用jdk1.8)
rpm -qa | grep jdk
rpm -qa | grep gcj
yum remove -y $jdk_name
注意:$jdk_name为rpm -qa两个命令查询显示的结果。
yum install jdk -y
注意:在这之前把所有的低版本的jdk全部从repo中删除。我的主要为/repo_dir/cloudera/cm_repo/cm5.4.8_el6中的两个低版本的jdk的rpm包。
yum install jdk
java -version ##检查新安装的java版本,默认安装路径/usr/java/

四、 安装cm与cdh以及验证
安装CM RPM (10.10.20.1上安装server)
(注意:如果以前安装有缓存再次安装报错时需要执行yum makecache)
yum install cloudera-manager-server cloudera-manager-server-db-2 cloudera-manager-daemons

拷贝parcel文件夹 (10.10.20.1)
将事先准备的parcel文件复制到Cloudera默认的parcel repo中(我的parecel repo为/opt/cloudera/parcel-repo)
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel.sha
manifest.json

启动CM服务 (在10.10.20.1执行)
启动Cloudera server db:
service cloudera-scm-server-db start

启动Cloudera server:
service cloudera-scm-server start
等待Cloudera web服务启动,可用以下命令查看7180端口是否处于监听状态:
netstat -nlp|grep 7180

登录http://10.10.20.1:7180然后进行agent的安装与cdh组件的安装。整个过程是自动化完成。主要考虑相关配置信息,第一点为安装agent的yum源配置,即配置为以上我们自己创建的repo仓库;第二点为不勾选安装oracle jdk;第三点主要为不勾选启用单用户模式。其他的基本保持默认就可以了。

注意:在自动安装agent的时候可能因为同时下载而失败,多试几次就可以了。(可能为多台服务器同时下载包的问题引起失败)。

验证hive与hbase
Hive中执行create创建表,insert插入数据,select查询数据(包括count查询);
Hbase shell中执行create创建表,put插入数据,scan查询数据;

验证通过就可以继续下一步,安装esgynDB。

五、 安装esgynDB与验证安装
mkdir -p /opt/esgynDB_package
把esgynDB的包上传到此目录中,用于安装。
我们采用r2.2.2 release版本,为了功能完整我们采用shell installer安装。
tar -zxvf esgynDB_installer-2.2.2-RH6.tar.gz
cd installer/

请注意,因为我们采用的是离线安装,shell installer中需要自动外网下载package,所以我们直接屏蔽掉相关内容,并且提前手动安装对应的内容,然后再执行安装。具体操作如下:
在集群所有数据节点安装以下rpm包
如果使用EsgynDB自带的installer脚本安装数据库,需要将installer/traf_config_setup脚本中包含REQUIRED_PACKAGES的内容注释掉再进行安装。
注释REQUIRED_PACKAGES
#REQUIRED_PACKAGES=””
#REQUIRED_PACKAGES=”apr apr-util sqlite expect perl-DBD-SQLite protobuf xerces-c perl-Params-Validate perl-Time-HiRes gzip lzo lzop unzip gcc-c++ unixODBC unixODBC-devel libiodbc libiodbc-devel openldap-clients snappy lsof gnuplot”
#echo “export REQUIRED_PACKAGES=”REQUIREDPACKAGES"">>LOCAL_TRAF_CONFIG

这里写图片描述
切换到截图中rpm包所在的目录,然后执行yum -y localinstall *.rpm进行安装。
屏蔽的内容为安装以下内容,可以手动执行一次安装,避免丢失依赖包的安装。
yum install -y apr apr-util sqlite expect perl-DBD-SQLite protobuf xerces-c perl-Params-Validate perl-Time-HiRes gzip lzo lzop unzip gcc-c++ unixODBC unixODBC-devel libiodbc libiodbc-devel openldap-clients snappy lsof gnuplot

执行安装
./esgynDB_install

安装过程中需要输入的信息:
Licence:
/opt/esgynDB_package/Nari_POC_8N_201705.lic

esgynDB安装到的节点hostname(空格分割):
esgyn-1.localdomain esgyn-2.localdomain esgyn-3.localdomain esgyn-4.localdomain esgyn-5.localdomain esgyn-6.localdomain esgyn-7.localdomain esgyn-8.localdomain esgyn-9.localdomain

jdk的安装位置:
/usr/java/jdk1.8.0_11

esgynDB server的存放位置
/opt/esgynDB_package/esgynDB_adv_server-2.2.2-RH6-x86_64.tar.gz

cm的管理界面地址:
http://10.10.20.1:7180

其他参数一般保持默认即可(因为此集群没有对LDAP、kerberos、HA等的需求,暂时未加入相关内容)。

六、 安装过程问题总结
1、 安装cm过程中遇到的问题
下载的cm的安装包不正确导致的安装问题,需要注意的是下载的cm的版本需要与linux操作系统的版本对应。el6与el5,因为我们使用的centos6.7,所以cm的版本是带el6标识的包。(因为cm安装过程中因为linux版本不同,依赖的底层包的版本不同,所以在centos6上安装cm为el5的包就出现问题)。
2、 安装esgynDB过程中的问题
a、问题描述:sudo: sorry, you must have a tty to run sudo
解决办法:(把修改copy到集群所有节点)
chmod +w /etc/sudoers
vi /etc/sudoers

Defaults requiretty

chmod -w /etc/sudoers

b、问题描述:***ERROR: License allowed for 8 but currently installing on 9
licence只支持8个节点的esgynDB。
解决办法:cm管理主节点上不安装esgynDB。

c、问题描述:在cm管理节点安装esgynDB失败的问题。提示trafodion用户没有和一些列与trafodion用户相关的目录不存在。
解决办法:在需要安装esgynDB所在的节点内部执行,并且esgynDB的主节点也不安装到cm所在的机器上。

d、perl有两台服务器安装失败导致安装esgynDB的依赖包安装失败,具体原因不明,其他服务器的perl均正常。
解决办法:卸载perl之后重新安装perl问题解决。

e、cloudera-manager-agent在重装perl之后的与cm server断开连接,从cloudera-scm-agent服务看,为正常运行状态,但是cm server不能监控到其存在而导致这两台服务器上的cdh服务均不能启动。并且重新启动cloudera-scm-agent也不能正常。
解决办法:在cm server界面重新升级了一次agent,然后cdh的服务才正常可用了。