首页 文章 精选 留言 我的

精选列表

搜索[低代码平台],共10000篇文章
优秀的个人博客,低调大师

完整部署CentOS7.2+OpenStack+kvm 云平台环境(5)--问题解决

一、 [root@openstack-server ~]# nova listERROR (CommandError): You must provide a username or user id via --os-username, --os-user-id, env[OS_USERNAME] or env[OS_USER_ID]解决办法:source一下环境变量来获取 token [root@openstack-server src]# source admin-openrc.sh [root@openstack-server src]# nova list +--------------------------------------+--------------+--------+------------+-------------+--------------------+ | ID | Name | Status | Task State | Power State | Networks | +--------------------------------------+--------------+--------+------------+-------------+--------------------+ | 056c37a4-3e94-4280-96dd-5bc003469647 | kvmserver-01 | ACTIVE | - | Running | flat=192.168.1.121 | +--------------------------------------+--------------+--------+------------+-------------+--------------------+ 二、 在进行keystone认证的时候,出现下面的报错:Maximum lock attempts on _lockusertokens-0b75ff3ce97a40caa6bf6753c962c82b occurred. (Disable debug mode to suppress these details.) (HTTP 500) (Request-ID: req-bb1c465e-33bc-412a-8ac2-c0d0a7e168ad) 或者An unexpected error prevented the server from fulfilling your request. (HTTP 500) (Request-ID: req-bb1c465e-33bc-412a-8ac2-c0d0a7e168ad) 问题产生的可能原因及解决办法:1)admin_token用户环境变量错误引起的。 解决办法: [root@linux-node1 ~]# export OS_TOKEN=35d6e6f377a889571bcf [root@linux-node1 ~]# export OS_URL=http://192.168.1.17:35357/v3 [root@linux-node1 ~]# export OS_IDENTITY_API_VERSION=32)keystone数据同步失败,没有获取到正确的token值引起的。 解决办法: 删除mysql数据库中的keystone库,重新创建keystone库; 重新生成一个token,在keystone.conf中重新指定admin_token对应的新的token指; 然后初始化keystone数据,重启memcaced服务,重新进行keystone的认证;3)获取的token无效引起的。 解决办法:修改keystone.conf文件中的[token]区域。 之前的配置,将token存放在memcache缓存中[token]provider = uuid //或者是provider = keystone.token.providers.uuid.Providerdriver = memcache //或者是driver = keystone.token.persistence.backends.memcache.Token 修改后的配置,将token存放在sql数据库中[token]provider = uuiddriver = keystone.token.persistence.backends.sql.Token---------------------------------------------------------------------------------------------------------------------------------------------- 说明下: keystone默认使用SQL数据库存储token,token默认有效期为1天(24h)。 Openstack中每个组件执行的每次命令(请求)都需要token来验证,每次访问都会创建token,增长速度非常快,token表数据也会越来越多。 随着时间的推移,无效的记录越来越多,企业私有云几天的量就可以几万条、几十万条。这么多无效的token导致针对token表的SQL语句变慢,性能也会变差! 这就需要手动写个定时脚本来清理token表。 但是更好的方法当然是将token存放在memcache缓存中,利用memcached特性,自动删除不使用的缓存: [memcache] servers = localhost:11211 [token] provider = keystone.token.providers.uuid.Provider driver = keystone.token.persistence.backends.memcache.Token 默认的配置是: [token] provider = keystone.token.providers.uuid.Provider driver = keystone.token.persistence.backends.sql.Token-------------------------------------------------------------------------------------------------------------------------------------------- 三、No handlers could be found for logger "oslo_config.cfg"原因:日志文件的配置项错误解决办法: 在/etc/keystone/keystone.conf、/etc/nova/nova.conf配置文件里修改logdir为: log_dir=/var/log/keystone log_dir=/var/log/nova 四、 之前在openstack里创建的虚拟机,后面删除了。但是再创建虚拟机并设置和之前删除的虚拟机一样的ip的时候,就报错说这个ip已经被占用了! 但是之前创建的虚拟机已经删除了,这是为什么? 这是因为虚拟机虽然删除了,但是所删除虚拟机在neutron组网内的ip还没有被真正释放出来。 需要登陆openstack的web界面,到“网络”部分里面进行删除: 五、 在上传镜像或查看镜像的时候,报错: [root@linux-node1 ~]# glance image-list500 Internal Server Error: The server has either erred or is incapable of performing the requested operation. (HTTP 500) 测试登陆数据库,发现登陆失败! [root@linux-node1 ~]# mysql -u glance -h 192.168.1.17 -p Enter password: ERROR 1040 (08004): Too many connections 解决办法,这也是centos7下修改mysql连接数的做法:1)临时修改 MariaDB [(none)]> set GLOBAL max_connections=1000; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> show variables like "max_connections"; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | +-----------------+-------+ 1 row in set (0.00 sec) 2)永久修改: 配置/etc/my.cnf [mysqld]新添加一行如下参数: max_connections=1000 重启mariadb服务,再次查看mariadb数据库最大连接数,可以看到最大连接数是214,并非我们设置的1000。 MariaDB [(none)]> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 214 | +-----------------+-------+ 这是由于mariadb有默认打开文件数限制。可以通过配置/usr/lib/systemd/system/mariadb.service来调大打开文件数目。 配置/usr/lib/systemd/system/mariadb.service [Service]新添加两行如下参数: LimitNOFILE=10000 LimitNPROC=10000 重新加载系统服务,并重启mariadb服务 systemctl --system daemon-reload systemctl restart mariadb.service 再次查看mariadb数据库最大连接数,可以看到最大连接数已经是1000 MariaDB [(none)]> show variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | +-----------------+-------+ 六、 openstack创建虚拟机后,vnc进入vm后发现: ifconfig命令没有看到eth0信息 [root@localhost ~]# ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 重启网卡又报下面错误。 [root@localhost ~]# service network restart Shutting down loopback insterface: [ OK ] Bringing up loopback insterface: [ OK ]Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED] 解决办法:首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示: [root@localhost ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:f0:f9:1c", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="fa:16:3e:e9:ad:89", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 记录下,eth1网卡的mac地址fa:16:3e:e9:ad:89接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0 [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="dhcp" HWADDR="52:54:00:F0:F9:1C" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="af2a1e56-a502-42e9-9359-5c7dd6b1e1e9" 将ifcfg-eth0文件下的DEVICE设备名称改为“eth1”将mac地址即HWADDR改为上面记录的eth1的地址:fa:16:3e:e9:ad:89即修改后: [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth1" BOOTPROTO="dhcp" HWADDR="fa:16:3e:e9:ad:89" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="af2a1e56-a502-42e9-9359-5c7dd6b1e1e9" 最后,重启网卡 [root@localhost ~]# /etc/init.d/network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining IP information for eth1... done. [ OK ] 然后查看,发现ifconfig后有ip信息了! [root@localhost ~]# ifconfig eth1 Link encap:Ethernet HWaddr FA:16:3E:E9:AD:89 inet addr:192.168.1.102 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fee9:ad89/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:678 errors:0 dropped:0 overruns:0 frame:0 TX packets:183 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:78238 (76.4 KiB) TX bytes:27488 (26.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) 七、 openstack上创建vm实例后,状态为ERROR问题解决 解决方法参考:http://www.cnblogs.com/kevingrace/p/6015732.html ***************当你发现自己的才华撑不起野心时,就请安静下来学习吧*************** 本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/5811167.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

移动平台自动化测试从零开始-MonkeyRunner工具使用 (第二节)

选自:http://yuedu.baidu.com/ebook/d4d8b6121eb91a37f0115c1d 第2节 MonkeyRunner 安装部署 如果您已经正确的安装部署了Android环境,那么在您的Android SDK 的“tools”目录下将会有一个名称为“monkeyrunner.bat”的批处理文件, 如:这个文件在我机器的位置是“E:\android-sdk\tools”目录下,如图1所示。 图1 “monkeyrunner.bat”文件位置相关信息 双击图1中“monkeyrunner.bat”文件,将出现图2所示界面信息。 图2 “monkeyrunner.bat”运行后的显示信息 如果没有出现图2所示的界面,则说明您之前的安装配置可能有一些问题,需要检查以下相关内容是否成功部署: 1.JDK是否正确安装并设置了对应的环境变量; 2.Android SDK是否正确安装部署,并将Android SDK的“platform-tools”和“tools”路径添加到了“PATH”环境变量中; 3.为了更好的对脚本进行调试,建议大家下载Python,您可以到“https://www.python.org/downloads/”下载相应的软件版本,这里我们下载其对应的Windows版本,这里我们下载目前的最新64位版本,因为我本机用的是64位的Win7操作系统,如图3所示,下载完成以后进行安装,并将“python.exe”所在路径添加到PATH环境变量中,这部分内容比较简单,请读者朋友自行完成。 图3 Python Windows相关版本下载信息 Python安装并设置了环境变量后,您可以运行控制台命令,输入“python”后,若出现图4所示界面,代表python成功已经安装并设置,您可以通过输入“quit()”或者按“CTRL+Z”退出python,回到命令行提示符。 图4 Python运行相关的显示信息 关于这部分环境部署的内容,网上也有大量的安装部署这部分内容的资料,这里不再赘述。 本文转自 fish_yy 51CTO博客,原文链接:http://blog.51cto.com/tester2test/1650276,如需转载请自行联系原作者

优秀的个人博客,低调大师

【问题】spark运行python写的mapreduce任务,hadoop平台报错,java.net.ConnectException: 连...

问题: 用spark-submit以yarn-client方式提交任务,在集群的某些节点上的任务出现连接超时的错误,排查过各种情况后,确定在防火墙配置上出现问题。 原因: 我猜测是python程序启动后,作为Server,hadoop中资源调度是以java程序作为Client端访问, Python启动的Server端需要接受localhost的client访问。 当你从一台linux主机向自身发送数据包时,实际上的数据包是通过虚拟的lo接口来发送接受的,而不会通过你的物理网卡 eth0/eth1....,此时防火墙就要允许来自本地lo接口的数据包,需要加入以下配置允许Python Server接受来自本地lo接口的数据包,然后解决该问题。 1 iptables-AINPUT-ilo-jACCEPT添加iptables规则,允许来自于lo接口的数据包 任务的部分报错日志 16/07/2513:56:44INFOlzo.LzoCodec:Successfullyloaded&initializednative-lzolibrary[hadoop-lzorevd62701d4d05dfa6115bbaf8d9dff002df142e62d] 16/07/2513:56:44INFOConfiguration.deprecation:mapred.tip.idisdeprecated.Instead,usemapreduce.task.id 16/07/2513:56:44INFOConfiguration.deprecation:mapred.task.idisdeprecated.Instead,usemapreduce.task.attempt.id 16/07/2513:56:44INFOConfiguration.deprecation:mapred.task.is.mapisdeprecated.Instead,usemapreduce.task.ismap 16/07/2513:56:44INFOConfiguration.deprecation:mapred.task.partitionisdeprecated.Instead,usemapreduce.task.partition 16/07/2513:56:44INFOConfiguration.deprecation:mapred.job.idisdeprecated.Instead,usemapreduce.job.id 16/07/2513:57:47WARNpython.PythonWorkerFactory:FailedtoopensockettoPythondaemon: java.net.ConnectException:连接超时 atjava.net.PlainSocketImpl.socketConnect(NativeMethod) atjava.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339) atjava.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200) atjava.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182) atjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) atjava.net.Socket.connect(Socket.java:579) atjava.net.Socket.connect(Socket.java:528) atjava.net.Socket.<init>(Socket.java:425) atjava.net.Socket.<init>(Socket.java:241) atorg.apache.spark.api.python.PythonWorkerFactory.createSocket$1(PythonWorkerFactory.scala:75) atorg.apache.spark.api.python.PythonWorkerFactory.liftedTree1$1(PythonWorkerFactory.scala:90) atorg.apache.spark.api.python.PythonWorkerFactory.createThroughDaemon(PythonWorkerFactory.scala:89) atorg.apache.spark.api.python.PythonWorkerFactory.create(PythonWorkerFactory.scala:62) atorg.apache.spark.SparkEnv.createPythonWorker(SparkEnv.scala:135) atorg.apache.spark.api.python.PythonRunner.compute(PythonRDD.scala:101) atorg.apache.spark.api.python.PythonRDD.compute(PythonRDD.scala:70) atorg.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:297) atorg.apache.spark.rdd.RDD.iterator(RDD.scala:264) atorg.apache.spark.api.python.PairwiseRDD.compute(PythonRDD.scala:342) atorg.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:297) atorg.apache.spark.rdd.RDD.iterator(RDD.scala:264) atorg.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:73) atorg.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41) atorg.apache.spark.scheduler.Task.run(Task.scala:88) atorg.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214) atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) atjava.lang.Thread.run(Thread.java:745) 16/07/2513:57:47WARNpython.PythonWorkerFactory:Assumingthatdaemonunexpectedlyquit,attemptingtorestart 16/07/2513:58:51ERRORexecutor.Executor:Exceptionintask0.0instage0.0(TID0) 参考地址: http://stackoverflow.com/questions/15659132/connection-refused-between-a-python-server-and-a-java-client http://stackoverflow.com/questions/26297551/connecting-python-and-java-via-sockets/38605208#38605208 http://www.zybang.com/question/9ab66451988eb2768194817f25a0b7a9.html 本文转自巧克力黒 51CTO博客,原文链接:http://blog.51cto.com/10120275/1830831,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册