Trafodion沙箱是能提供给你在单节点上模拟Trafodion的一个虚拟应用,它能给你一个区域用以熟悉Trafodion。下载trafodion_release.ova文件,再将其安装到已经运行着某个虚拟机监视器(hypervisors)的PC上。该沙箱已经安装好了Trafodion Release 1.1以及Hortonworks Data Platform(HDP)。

注:如果你遇见问题,或者需要安装方面的帮助,再或者如何使用Trafodion沙箱,请发邮件至tbd咨询。

前提条件

检查系统资源

为了Trafodion沙箱能成功运行,你的PC至少得有16GB的内存。在Hadoop服务与Trafodion运行时,沙箱会用掉5G左右的内存,所以确保你PC能有足够的空间支持这些进程。否则,沙箱会变得很缓慢。

安装虚拟机监视器(Hypervisor)

将下面测试及支持版的虚拟机监视器之一安装到你的PC:

  • VirtualBox (免费下载)
  • VMware工作站,10.0.3版本,build-1895310或更晚 (注:早期的版本可能在加载Ambari时出现问题,因为一个网络的bug。)

在你PC上打开虚拟化(virtualization)

你的PC应该在BIOS设置中启用虚拟化。关于怎么打开虚拟化,请遵循下面的步骤:

  1. 关机。
  2. 按下开机按钮后,点击Esc键来启用开始菜单。
  3. 当开始菜单出现后,点击F10键来启用BIOS设置。
  4. 在BIOS设置中,选择System Configuration标识。
  5. 选择Device Configurations
  6. 向下翻滚,然后选择Virtualization Technology
  7. 选择Save
  8. 当提示保存时,点击Yes
  9. 选择Exit
  10. 当再次提示保存时,点击click Yes
  11. 重启。

安装Trafodion沙箱

一旦你的PC满足了前提条件,那么请依照以下步骤:

下载以及导入OVA文件

  1. http://downloads.trafodion.org/trafodion_release.ova下载trafodion_release.ova文件到你的PC。

    注:.ova文件的大小有6G左右。因此,下载可能会花费一个多小时,这得看你的网速。如果你想要查看下载程度,那么可以根据eb08cbc5bfd4b7b2bde8ba2d7b01db4b trafodion_release.ova来检查。你可以通过使用Linux命令“md5sum trafodion_release.ova”来做计算及比较。

  2. 确保下载的是.ova文件,而并非.tar文件。如果你看见trafodion_release.tar,那么请将它重命名成trafodion_release.ova
  3. 在你的PC上右击trafodion_release.ova文件,然后选择Open with,再选择VMware Workstation或者VirtualBox.exe

    这时虚拟机监视器会显示一个对话框,提示你导入新的虚拟机。

  4. 对该虚拟机,保持默认的名称以及本地存储路径(或者虚拟磁盘镜像)。如果你使用着VirtualBox,请选择Reinitialize the MAC address of all network cards。 再单击Import

    如果你见到这样的VMware Workstation错误信息,请点击Retry

    The import failed because <local storage path> 
    did not pass OVF specification 
    conformance or virtual hardware compliance checks.
    
    点击Retry来放宽OVF规范以及虚拟硬件兼容性检查,并重试导入。或者点击Cancel来取消导入。如果你重试导入,你可能会在VMware Workstation中不能使用虚拟机。
    

    注: 导入进程可能会花上15分钟,因为它导入了将近4GB的数据。

配置虚拟机设置

  1. 一旦你导入了虚拟机,但在启动之前,检查它的内存设置,并根据你PC的资源来改变该设置的值:
    1. 在虚拟机监视器中,显示虚拟机设置:
      • 在VMware Workstation,单击Edit virtual machine settings
      • 在VirtualBox,单击Settings
    2. 如果你使用着VMware Workstation,选择Memory并将其设置为最大推荐值。
    3. 如果你使用着VirtualBox,请取消USB控制器,可通过单击USB并清除Enable USB Controller检查框来实现。在同样的设置提示框中,单击System然后单击Motherboard标识。通过将滚动条移动至红绿交叉处,来设置Base Memory。如果你内存已经是最大推荐值,那在提示框底部,你就不会见到Invalid settings detected提示。
    4. 单击OK来接受所做的修改。

启动虚拟机

  1. 启动虚拟机。例,在VMware Workstation中,单击Power on this virtual machine。在VirtualBox中,单击Start按钮。

    虚拟机监视器(hypervisor)启动CentOS,这回花费几分钟。p>

    • 如果启动成功,trafodion提示框会出现并显示一系列用户名。
    • 如果启动失败,并显示了下面的错误信息,那说明你PC很可能没有启用虚拟化(virtualization)。参考在你PC上打开虚拟化
      This kernel requires an x86-64 CPU, but only detected an I686 CPU. 
      Unable to boot - please use a kernel appropriate for your CPU.
  2. trafodion提示框中,选择trafodion,输入traf123作为密码,并单击Log In

提示: 你可以使用对虚拟机的深度睡眠来代替关机。这样当你重新启用时,它会返回你睡眠前同样的状态。

启动Hadoop服务

注: 在第一次启动Ambari时,可能会花上一段时间。请耐心点。

  1. 一旦你登录了虚拟机,启动Hadoop服务:
    1. 单击工具栏中Firefox浏览器图标并在地址栏中输入sandbox:8080(或localhost:8080),用以打开Ambari控制界面。
    2. 在Ambari控制界面中,输入admin作为用户名,admin作为密码,并单击Sign in
    3. 所有的Ambari服务应该都启动了(显示为绿色)。
      • 如果没有,那就在界面的左侧,单击Actions并选择Start All
      • 如果有需要确认的提示,单击OK。这回启动Hadoop服务。注意这里也可能花上一段时间来启动Hadoop所有的服务,尤其你的系统只有很少的内存。(请参考检查系统资源。)
      • 如果所有的Hadoop服务都被成功启动了,那你就会看见一个绿色的检查记号,靠近Start All Services,并且进度条会以绿色显示为100%。请等待一些时间以便所有的服务都能被激活。一旦这些服务看起来正常运行了,那请到第9步。
      • 如果你在Start All Services旁或者某个(多个)服务旁看到一个红色的感叹点,请单击每个停掉的服务,并尝试手工启动。(有关必需的Hadoop服务,请参考第10。) 一旦你手工启动了这些服务,那请到第9步。

    注: 如果你在启动Hadoop服务是遇见了任何问题,请参考问题解决部分。

  2. HBase服务可能显示一个绿色的检查记号,即便HBase Master并不是活动的。为了检查HBase Master是活动的,请在Dashboard标识的左侧方框中单击HBase服务。如果显示HBase Master不是活动的,请单击Restart the HBase Master。一旦是活动的,那请到第10步。
  3. 在Ambari页面中,验证这些必需的Hadoop服务一直能是Started状态:
    • HDFS
    • MapReduce2
    • HBase
    • Hive
    • WebHCat
    • ZooKeeper
    如果这些服务中人一个停止运行了,请重启。
  4. 通过启动一个终端(在工具栏中选择Applications > System Tools > Terminal),来检查HBase的实际状态并执行一个叫做status 'detailed'的HBase shell命令:
    [trafodion@trafodion ~]$ hbase shell
    
    hbase(main):001:0>status 'detailed' 
    version 0.98.0.2.1.7.0-784-hadoop2
    0 regionsInTransition
    master coprocessors: []
    1 live servers
        trafodion.local:60020 1423613814142
            ...
    0 dead servers
    
    hbase(main):003:0>
    

    如果没有活动的HBase RegionServers,那返回第9步来重启这些服务。 如果HBase RegionServers是活动的,那请到第12步。

启用Trafodion实例

注: 在启用Trafodion实例之前,确保必需的Hadoop服务以及HBase RegionServers任然是活动的。请参考启动Hadoop服务中的第10与11步。

  1. 在启动Trafodion之前,先验证连接所经过的网络界面是不是正常:
    1. 通过在工具栏中选择Applications > System Tools > Terminal来启动一个终端。
    2. 执行ifconfig命令并注意关注哪个网络界面(也就是eth<n>)有IP地址。
    3. 比较该网络界面名以及$MY_SQROOT/dcs*/conf/dcs-site.xml中的dcs.dns.interface设置。
    4. 如果名称不同,那请修改dcs-site.xml中的dcs.dns.interface设置,以便能匹配网络界面名。现在启动Trafodion已经一切就绪了。
  2. 在终端窗口中,执行如下命令来启动Trafodion实例:
    cds
    sqstart
    

    如果sqstart被成功执行了,你将在执行sqcheck后看到:

    [trafodion@trafodion scripts]$ sqcheck
    Checking if processes are up.
    Checking attempt: 1; user specified max: 2. Execution time in seconds: 11.
    
    The SQ environment is up!
    
    
    Process		Configured	Actual	    Down
    -------		----------	------	    ----
    DTM		2		2	    
    RMS		4		4	    
    MXOSRVR		2		2	    
    

    如果sqcheck不起作用,(也就是说,如果5分钟之后还没结束):

    1. 在终端中键入Ctrl-C。
    2. 执行ckillall:
      Background SQ Startup job (pid: 15136)
      # of SQ processes: 9 ^C
      
      [trafodion@trafodion scripts]$ ckillall
      This command might cause irreparable damage to your database. Execute sqstop
      instead. Do you really want to continue? y/n: y
      Going to execute ckillall
      [trafodion@trafodion scripts]$
      
    3. 有关通过Ambari操作界面来重启HBase RegionServers,请参考启动Hadoop服务中第9步。
    4. 重试sqstart。

    一旦sqstart成功执行,请参见第14步来打开sqlci。

  3. 在终端连接中,可以通过Trafodion会话界面(sqlci)来执行一个快速的健康检查(sanity check)。首先,通过命令GET VERSION OF SOFTWARE与GET VERSION OF METADATA分别获得软件与源数据(metadata)的版本。例如:
    [trafodion@trafodion scripts]$ cd ..
    [trafodion@trafodion sql]$ cd ..
    [trafodion@trafodion ~]$ sqlci
    Trafodion Conversational Interface 1.0.0
    (c) Copyright 2014 Hewlett-Packard Development Company, LP.
    >>get version of software;
    
      System Version 1.0.0. Expected Version 1.0.0.
      Software is current.
    
    --- SQL operation complete.
    >>get version of metadata;
    
      Current Version 3.0. Expected Version 3.0.
      Metadata is current.
    
    --- SQL operation complete.
    

    GET VERSION命令的输入是说明软件以及源数据是当前的(current)。 
    如果你在执行GET VERSION命令时,出现了错误信息,那请发邮件至trafodion<at>hp<dot>com上报问题,并尝试按下面步骤初始化Trafodion来解决问题:

    >>initialize trafodion, drop;
     
    --- SQL operation complete.
    >>initialize trafodion;
     
    --- SQL operation complete.
    

    重新执行GET VERSION OF SOFTWARE与GET VERSION OF METADATA这两个命令,以确保软件及源数据是当前的。

  4. 下面新建一张带有几条数据的表。例如:
    >>create table test1 (f1 int, f2 int);
    
    --- SQL operation complete.
    >>insert into test1 values(1,1);
    
    --- 1 row(s) inserted.
    >>insert into test1 values(2,2);
    
    --- 1 row(s) inserted.
    >>select * from test1;
    
    F1            F2
    -----------   -----------
              1             1
              2             2
    
    --- 2 row(s) selected.
    >>get tables;
    
    Tables in Schema TRAFODION.SEABASE
    ==================================
    
    TEST1
    
    --- SQL operation complete.
    >>exit;
    

    这些SQL命令应都运行成功。

连接上Trafodion沙箱

  1. 获取Trafodion沙箱的IP地址,这样你可以下次通过某客户端应用来连接它。在Ambari控制界面中,单击Hosts标识,向下翻滚至Summary,然后记录下trafodion.local的IP地址。
  2. 下载并安装TrafodionJDBC或ODBC驱动,这样你便能从沙箱的IP地址来连接Trafodion沙箱。相关说明,请参考Trafodion用户端安装指南(pdf, 1.0 MB)。这份指南解释了怎么安装驱动,怎么连接Trafodion实例,以及怎么运行示例程序来测试连接。

问题解决

问题:App适时服务启动失败

解决: 按照下面方法更新yarn.timeline-service.store-class的值:

  1. 在Ambari管理界面中,选择Services标识。
  2. 在左侧框中选择YARN
  3. Click the Configs tab.
  4. Application Timeline Server下,在yarn.timeline-service.store-class域中输入下面的值:
    org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore
    
  5. 单击Save按钮。

问题:Hadoop服务不能启动

解决: 你可能需要在/etc/yum.conf中设置proxy服务:

  1. 通过选择工具栏中的Applications > System Tools > Terminal来启动一个终端连接。
  2. 在终端连接中,以root身份登录,密码traf123
    [trafodion@trafodion ~]$ su root
    Password:
    [root@trafodion trafodion]#
    
  3. 编辑/etc/yum.conf文件,设置proxy为http://trafodion:8080/
    [root@trafodion trafodion]# vi /etc/yum.conf
    
    #<proxy-server>:<port-number>
    proxy=http://trafodion:8080
    
    [root@trafodion trafodion]#
    
  4. 关闭终端窗口。
  5. 返回第8步,重启Hadoop的所有服务。
  • No labels