歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

How to install Savanna

How to install Savanna   解壓軟件包中的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)  
Copyright © Linux教程網 All Rights Reserved