Pre-conditions: openstack has been installed successfully.

解压软件包中的savanna-all.tar.gz安装tar -C / -xzf savanna-all.tar.gz安装了下列软件

1、/openstack-horizon

2、/etc/savanna/savanna.conf

3、/usr/local/bin/savanna-api和savanna-db-manage

4、/usr/local/lib/python2.7/dist-packages

5、上传镜像到glance服务器:glance image-create --name=vanilla-hadoop.image --disk-format=qcow2 --container-format=bare < ./savanna-0.1.2-hadoop.qcow2

一、horizon的安装和配置。

1、将软件包中openstack-horizon拷贝到目标机器的根目录下 /

2、cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py

3、修改local_settings.py的配置

[skipped]

OPENSTACK_HOST = "172.18.79.139" <------ KeyStone address

OPENSTACK_KEYSTONE_URL = "http://%s:5000/v2.0" % OPENSTACK_HOST

OPENSTACK_KEYSTONE_DEFAULT_ROLE = "Member"

[skipped]

4、在keystone服务器上面注册horizon的服务(如果openstack已经安装成功,这个已经注册过了,可以省略)。

5、启动horizon服务 python manage.py runserver 0.0.0.0:6666(端口号可以任意)

6、在客户端浏览器上输入horizon所在的目标主机ip加端口进行访问。

可能存在的问题

1、缺少lessc的CSS样式

回答:

解决方案按照如下的次序安装软件包中savanna依赖的包.

libc-ares2 amd64

libv8-3.8.9.20 amd64                                                     

libev4 amd64                                                               

nodejs amd64                                                     

node-less

设置样式链接,使用系统/usr/bin/lessc样式来展示horizon的页面

ln -s /usr/bin/lessc <path_to_horizon>/bin/less/lessc

二、savanna的安装和配置

1、修改/etc/savanna/savanna.conf配置文件,可以修改端口prot和进行keystone认证的参数

os_auth_host=10.0.0.100

os_auth_port=35357

os_admin_username=nova

os_admin_password=service_pass

os_admin_tenant_name=service

2、在keystone上面注册savanna服务

keystone service-create --name savanna --type mapreduce --description "Savanna"

keystone endpoint-create --service-id ed08fa240cbd40898eab09eb9d5c3d0c --internalurl "http://25.8.67.32:9000/v0.2/%(tenant_id)s" --publicurl "http://25.8.67.32:9000/v0.2/%(tenant_id)s" --adminurl "none"

上面service-id为第一步成说那话是的id地址,ip地址为horizon的ip地址,端口为savanna配置文件中指定的端口。

这个过程中可能需要修改keystone所在主机的/root/.bashrc

export OS_TENANT_NAME=admin

export OS_USERNAME=admin

export OS_PASSWORD=keystone_admin

export OS_AUTH_URL="http://25.8.67.32:5000/v2.0/"

source /root/.bashrc

3、产生savanna使用的数据库

savanna‐db-manage ‐‐config‐file /etc/savanna/savanna.conf 后面参数自己尝试,可以参见软件包中savanna-db-manage

4、启动savanna服务

savanna‐api ‐‐config‐file /etc/savanna/savanna.conf

按照上述的步骤完成后可能存在着一下的问题,就是savanna的提供的服务由于版本号关系不能正确解析,由于savanna-all中的版本是1.0的版本的,由于1.0版本中有些服务还没有开发完,因此在创建node-temple的时候有问题(cluster-templete可以成功创建),因此我们将将savanna的版本降到稳定版上面,主要替换savanna的api文件以及savanna原始文件中被1.0版本所覆盖的文件。

a、将软件包中savanna文件拷贝到目标机器

b、使用setup.py来安装

c、主要的工作主要包括:替换/usr/local/bin下面关于savanna的运行文件;替换savanna.conf文件这个可能需要注意进行重新进行配置;主要替换/usr/local/lib/python2.7/dist-packages文件中的内容,主要看api文件中的都换成0.2的版本。

sudo savanna--manage --config-file /etc/savanna/savanna.conf reset-db --with-gen-templates

sudo savanna-api --config-file /etc/savanna/savanna.conf

5. Questions and Answers.

Q1: can not create DataNode Template through the website

Answer: go to /openstack-horizon/openstack_dashboard/api/savanna.py and modify line 139 and change "task_tracker_opts" to " job_tracker_opts"

if "tt" in str(node_type).lower():

        #template_data["task_tracker"] = task_tracker_opts

        template_data["task_tracker"] = job_tracker_opts

if "dn" in str(node_type).lower():

        #template_data["data_node"] = data_node_opts

        template_data["data_node"] = name_node_opts

Q2: when I start the hadoop cluster and find that the namenode  can no get the correct ip addresses of slavers

Answer:go to /usr/local/lib/python2.7/dist-packages/savanna-0.1.2.a3.gda0f4b7-py2.7.egg/savanna/service/cluster_ops.py and modify the function _check_if_up(nova, node):

    if len(nets) == 0:

            print "VM's networking is not configured yet"

            eventlet.sleep(10)

            return

    This could be improved by another methods.

Q3: when starting hadoop, through the logging file we can see hadoop can not find the host "ubuntu"

Answer: go to cluster_ops.py and modify the following function. adding the mapping between hostname and ip address.

def _generate_hosts(clmap):

    hosts = "127.0.0.1 localhost\n"

    hosts += "127.0.0.1 ubuntu\n"

Q4: through the log, we found the the hadoop can not create the following files.

Answer: go to cluster_ops.py and add the following code in fucntion _setup_node(node,clmap) before ret=_open_channel_and_execute()

     sftp.mkdir('/var/run/hadoop')

        sftp.chmod('/var/run/hadoop',0777)

Q5: how to configure the ip to address http://%s:50030 to see the details of jobtracker

Answers: go to node1 and configure the ip routers

    ipvsadm -A -t node1:port -s rr

    ipvsadm -a -t node1:port -r privateIP:50030 -m -w 1

Q6: hadoop has no privilige to create /tmp/savanna-hadoop-start-all.log

Answers: go to cluster.py and modify the function _start_cluster()

    change the direction of the log file.

Q7: Maybe there is somethings wrong in function _setup_ssh_connection(host,ssh) in cluster_opts.py, you should specify the prot 22 in ssh.connection(host,port,username,passowrd)

How to install Savanna的更多相关文章

  1. OEL上使用yum install oracle-validated 简化主机配置工作

    环境:OEL 5.7 + Oracle 10.2.0.5 RAC 如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle-vali ...

  2. org.jboss.deployment.DeploymentException: Trying to install an already registered mbean: jboss.jca:service=LocalTxCM,name=egmasDS

    17:34:37,235 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080 17:34:37,281 INFO [ ...

  3. 如何使用yum 下载 一个 package ?如何使用 yum install package 但是保留 rpm 格式的 package ? 或者又 如何通过yum 中已经安装的package 导出它,即yum导出rpm?

    注意 RHEL5 和 RHEL6 的不同 How to use yum to download a package without installing it Solution Verified - ...

  4. Install and Configure SharePoint 2013 Workflow

    这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...

  5. Basic Tutorials of Redis(1) - Install And Configure Redis

    Nowaday, Redis became more and more popular , many projects use it in the cache module and the store ...

  6. Hadoop学习日志- install hadoop

    资料来源 : http://www.tutorialspoint.com/hadoop/hadoop_enviornment_setup.htm Hadoop 安装 创建新用户 $ su passwo ...

  7. 关于bundle install 的一点补充

    在第一次运行bundle install之后,生成了Gemfile.lock文件,里面记录gem的具体版本号,按照官方文档说明,以后运行bundle install就不会再依据Gemfile,而是根据 ...

  8. Centos 7 minimal install 无网络无ifconfig的解决

    Centos7这个比较不厚道, minimal install下居然不带net-tools 先要连上网络 修改/etc/sysconfig/network-scripts/ifcfg-ens12312 ...

  9. jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the install tool.

    jBPM4.4 no jBPM DB schema: no JBPM4_EXECUTION table. Run the create.jbpm.schema target first in the ...

随机推荐

  1. MVC 6 写法

    MVC 6 一些不晓得的写法 今天在看 Scott Guthrie 的一篇博文<Introducing ASP.NET 5>,在 MVC 6 中,发现有些之前不晓得的写法,这边简单记录下, ...

  2. 多线程学习之二坚不可摧模式Immutable pattern

    Immutable pattern[坚不可摧模式] 一:immutable pattern的参与者--->immutable(不变的)参与者        1.1:immutable参与者是一个 ...

  3. 阅读安卓在线(Android)系统源代码

    http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/ 版权声明:本文博客原创 ...

  4. Android Studio非gradleproject编译后的apk文件在哪?

    非gradle的apk文件位置和gradle有一些差别,怎样找到apk文件在哪?我直接上图吧,选中project,右键: 在windows是选择"show in exlporer" ...

  5. loadrunner必用函数web_reg_save_param获取多个符合边界值条件的使用方法

    在做loadrunner性能脚本开发时,常常碰见一个需求:符合web_reg_save_param函数中定义的左右边界值的值有多个,而我们的常规写法默认返回的是符合条件的第一个,而有时我们却需要使用后 ...

  6. android文件缓存,并SD卡创建目录未能解决和bitmap内存溢出解决

    1.相关代码: 加入权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ...

  7. 系统预定义委托与Lambda表达式

    NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式   开篇:在上一篇中,我们了解了匿名类.匿名方法与扩展方法等所谓的新语法,这一篇我们继续征程,看看系统预定义委托(Action/Fun ...

  8. QT Creater与libusb使用

    新建一个C项目,然后修改.pro文件,添加LIBS一行 TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt LIBS ...

  9. 智能的API、云服务和SOA测试解决方案——Parasoft SOAtest

    依赖Parasoft测试解决方案的机构,不仅有小企业,政府机构,还有世界500强集团.Parasoft公司推出的Parasoft SOAtest,提供了API.云服务和SOA最全面的测试解决方案.此次 ...

  10. 10.读google测试之道有感

    (一)读google测试之道有感.