Closed kangfoo closed 10 years ago
这个应该是你的平台上不支持hostname --fqdn这个命令,你先暂时把tank/start.sh这个脚本里获取ip的逻辑简单改一下,我们下个版本会把这里改得通用一些,尽可能兼容更多的平台。
@wuzesheng start_tank是在本地执行,直接将localip="0.0.0.0"是不是就通用了~ ^^
0.0.0.0会有安全隐患,我刚提交了一个fix,你更新代码吧
@hpttlook start_tank是在本地执行,直接将localip="0.0.0.0"是不是就通用了~ ^^ 是行不通的。 CommandError: "=0.0.0.0" is not a valid port number or address:port pair.
[hadoop@master11 tank]$ tail start_tank.sh
db_file="sqlite/tank.db"
if ! [ -e $db_file ] || [ -z "cat $db_file
" ]; then
./manage.py syncdb
fi
local_ip=/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"
nohup ./manage.py runserver $local_ip:8000 1>tank.log 2>&1 &
对应的错误是:
CommandError: Usage is runserver [optional port number, or ipaddr:port]
我虚拟机是多网卡的: [hadoop@master11 tank]$ /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 192.168.56.11 10.0.3.15
直接执行
./manage.py runserver localhost:8000
错误如下:
File "/usr/local/python276/lib/python2.7/site-packages/django/db/utils.py", line 113, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/local/python276/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
import(name)
File "/usr/local/python276/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 35, in
我想问下,你们用的python,Django版本是多少的。我换你们同样的版本再验证看看是不我这两个版本都太高导致的。
我测试过,发现如下的搭配是OK的: python 2.6.x + django 1.4.x python 2.7.x + django 1.5.x
你的错误显示,是没有安装sqlite3或者pysqlite,安装尝试执行./manage.py syncdb,不报错应该就好了。
恩,正如@hpttlook 所说,你检查一下你的sqlite库,从报错来看,应该是找不到sqlite库
我这边是还需要安装yum install sqlite-devel,pysqlite ... ... 看来搭建环境之前还有很多工作要准备的。在ppt里提到的python,django 是不够的。 我又安装了sqlite-devel, 之后在python官网上下载了pysqlite-2.6.3 tar. python setup.py build_static install 之后,接着就是 gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DMODULE_NAME="pysqlite2.dbapi2" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -I/usr/local/python276/include/python2.7 -c sqlite3.c -o build/temp.linux-x86_64-2.7/sqlite3.o gcc: sqlite3.c:没有那个文件或目录 gcc: 没有输入文件 error: command 'gcc' failed with exit status 1 错误。我的pysqlite-2.6.3 tar 解压后的确没有sqlite3.c 文件。这个错误目前不知道如何继续。请问这些软件安装有没有先后顺序,我重装了python好像也不奏效。
恩,需要安装。目前是麻烦一些,我们正在开发一键安装,这个feature做完之后就会方便很多。
弄好了,我再当小白鼠。 上面那个 gcc: sqlite3.c:没有那个文件或目录 gcc: 没有输入文件 error: command 'gcc' failed with exit status 1 我目前真的不知道如何解决。有什么建议吗?
你是从源码安装的么?
是的,在python官网下载的。 谷歌提供的tar目前网站403错误。
为什么不用yum或者apt这样的工具,感觉会方便很多啊
我也想呀,但是没找到源。要不把你用的命令我参考下。
我们用的是公司内部的源。你用的是什么平台, ubuntu还是centos, 还是其它什么?
centos
国内centos的源应该挺多的,配置一下用yum装吧 http://hi.baidu.com/mucunzhishu/item/25854a2be64e9bc7dcf69a8a
@kangfoo 不错了,你们还能连接外部原源去安装。我连不了外网,公司居然连内部源都没有,全部都通过包安装了一编,而且用了apache branch的hadoop,踩了很多坑。 你提到的pysqlite中没有sqlite3.c,这个猜测是搞反了,sqlit3.c应该是需要安装sqlite3,pysqlite只是对sqlite的python接口。 源码安装麻烦,可以的情况下还是通过yum什么的自动解决依赖安装,会方便很多。
源我也配了,sqlite也安装了。错误还是那个。我还是慢慢找吧。谢了! 我是用我自己的电脑学习hadoop当然能联网,听说国内小米公司在开源这块很给力就来围观了。上班事情一堆,做的我都很机械。弄这个找乐呵……
对了能把那个ppt迁移到wiki去吗,使用git clone 会很慢的。
呵呵,刚放出来的版本易用性可提升的空间比较大,我们会逐步完善的,也欢迎你在使用的过程中吐槽 :)
git clone只是一次性的工作,clone一次,后面就应该影响不大了,这个ppt基本很少会改了。
我换了个操作系统ubuntu13.10 直接使用系统自带了python2.7.5 下载的Django-1.5.5,什么都不用改就成功的将tank启动成功了。好像ip还是绑死的。 我这边默认的系统语言环境是中文的,所以那个启动脚本还的改改: 如:
local_ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" |tr -d "地址:" `
ip绑死是指?
config/supervisord.conf 文件中的路径都是要修改的,在ppt上没有全部都提到。 还有,文档有没有中英文多语言的呢,我看你PPT都是中文的,代码中的注释是英文的我可以理解。但是git上的readme有全是英文的。为了便于交流是否可以弄个多语言的呢? 像淘宝都弄的是多语言的文档。
@wuzesheng ip绑死是指? 是这样的。我现在在家链接的是无限路由器,不知道minos对IP的绑定有没有要求。我看配置文件中都要写IP的。我其实是想填写127.0.0.1 但是 Minos目前是启动的状态,默认是将127.0.0.1这个IP个过滤了。我是想问,我在单机环境中IP是可能变化的情况下,配置文件中的IP都填写为127.0.0.1有没有问题。
像这样的ZooKeeper,hdfs,hbase zookeeper-3.4.4 mvn clean package –Pdist –Dtar -DskipTests 我下载hadoop-2.0.0-cdh4.1.0需要9个小时,请问用apache提供的版本有何差异? 还有我目前下载的tar中都没有maven的pom文件,都是ivy的编译脚本,请问我是不是和你找的源文件不一样呀。hbase和zookeeper都是在apache上下载的。 hadoop-2.0.0-cdh4.1.0 还在下载中... ... 漫长的等待,今天很轻松的就把tank,supervisord部署好了。真是没想到。
几个问题回答如下:
好的。非常感谢。版本应该不一定都需要和PPT上一样的,对把。我找zookeeper-3.4.4几乎很少的。直接到3.4.5了。 mvn clean package –Pdist –Dtar -DskipTests编译这个过程一定要吗,像我这种不了解情况的直接下载的apache提供的源代码加编译好的文件是否可以省掉这个过程. 我在github上为何都找不到你们PPT上对应的ZK3.4.4,hbase0.94.3的分支或者tag。
恩,版本不一定完全一样,ppt上贴的版本是我们现在用的版本,如果用的版本不一样,可能会有一些出入,不过应该不会有太大的问题。
像mvn clean package –Pdist –Dtar -DskipTests这个命令我这边是不能执行的,没有配置profile dist 的,同样-Dtar也是不行的。你们那边是不是修改过源代码了的。我目前都是默认执行的zk 的ant build.xml, hbase 的mvn clean install -Dmaven.test.skip=true, hadoop-2.0.0-cdh4.1.0 根本就没找到源代码。 请问这个编译的过程一定要吗,直接使用官方的tar解压后的可以吗? 若你们改过pom那能提供参考下吗? 对于上面的编译结果我验证了下: HBase Shell, version 0.99.0-SNAPSHOT
2014-01-04 02:17:30,036 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 0 row(s) in 1.6350 seconds
数据存储,scan,都是没问题的,但本地的native-hadoop还是缺失的。显然我还有很多工作没做,虽然它编译成功了。
目前在配置文件中的密码好像都是明文的,是否可以像mvn那样允许明文的同时,提供加密的方式,更容易IT安全管理。http://maven.apache.org/guides/mini/guide-encryption.html
布署Zookeeper服务 Bootstrap 时出现协议错误
~/study/xiaomi/minos/client$ ./deploy.py bootstrap zookeeper dptst 2014-01-04 13:55:21 You should set a bootstrap password, it will be requried when you do cleanup Set a password manually? (y/n) y Please input your password: 2014-01-04 13:55:26 Your password is: 123456, you should store this in a safe place, because this is the verification code used to do cleanup 2014-01-04 13:55:26 Bootstrapping task 0 of zookeeper on 192.168.1.113(0) 2014-01-04 13:55:56 Bootstrap task 0 of zookeeper on 192.168.1.113(0) fail: <ProtocolError for minosuser:123456@192.168.1.113:9001/RPC2: 500 Internal Server Error> 2014-01-04 13:55:56 Starting task 0 of zookeeper on 192.168.1.113(0) 2014-01-04 13:55:56 Start task 0 of zookeeper on 192.168.1.113(0) fail: You should bootstrap the job first
我没有找到对应错误的日志文件,请问这个错误怎么解决。 备注我这里的zookeeper-3.4.4-mdh1.0.0-SNAPSHOT.tar.gz是直接将apache网站上下载的tar.gz给重命名到build文件下的。不知道是否有影响。
今天终于找到问题的原因了: 错误的主要原因是我这边没有找到ZK maven 的工程,直接使用APACHE提供的tar.然后直接将tar重命名为zookeeper-3.4.4-mdh1.0.0-SNAPSHOT.tar.gz 那么在./deploy.py bootstrap zookeeper dptst 之后 zk被解压,但是文件路径出错。 ${home}/dist/app/zookeeper/${your_cluster}/zookeeper/stdout Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain 那么就再重现修改 /minos/config/conf/zookeeper/zookeeper-dptst.cfg 版本是否可行。 发现是徒劳。 原因是tank skip uploading .那就我尝试了是否可以换个集群的名字。 新建 /minos/config/conf/zookeeper/zookeeper-zk1.cfg 上传对应的install zk-xx-xx.tar.gz。发现还是不能上传提示如下: 原有的tar Package /home/linkang/study/xiaomi/zookeeper/build/zookeeper-3.4.4-mdh1.0.0-SNAPSHOT.tar.gz has already uploaded, skip uploading 新建的tar Generating checksum of package: /home/linkang/study/xiaomi/zookeeper/build/zookeeper-3.4.5.tar.gz 2014-01-11 14:14:08 Checksum is: fd921575e02478909557034ea922de871926efc7 2014-01-11 14:14:08 Package /home/linkang/study/xiaomi/zookeeper/build/zookeeper-3.4.5.tar.gz has already uploaded, skip uploading。 ./deploy.py cleanup zookeeper dptst 也没有效果。 我直接找到了数据库文件minos/tank/sqlite/tank.db 执行delete from package_server_package 然后自己将磁盘中的文件都重现清理下。 困扰我多久的zk 终于启动正常了。 我的问题是: 我有没有其他的途径可以将现有的集群资源全部初始化一次。
我在单机环境下执行 ./deploy.py bootstrap hdfs dptst-example 错误: File "/home/linkang/study/xiaomi/minos/client/service_config.py", line 38, in parse_task_number raise ValueError(str(task_id) + ' is not a valid task of cluster, please check your config') ValueError: 1 is not a valid task of cluster, please check your config 配置文件改动为: name=dptst-example
version=2.0.0-cdh4.1.0 [namenode] host.0=127.0.0.1 [datanode] host.0=127.0.0.1 这个错误是我不能在单机下执行吗,还是有配置我没修改完。配置jobtask的地方,就指教。
我刚在git下克隆的代码, 在centos6.4 64位上 安装了python2.7.6, Django1.6.1 ./start_tank.sh 接着就出现了错误。目前对python和django都不是很擅长。请问这个错误该如何解决?
[hadoop@master11 tank]$ tail tank.log CommandError: ":8000" is not a valid port number or address:port pair.
错误日志: Traceback (most recent call last): File "./manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/python276/lib/python2.7/site-packages/django/core/management/init.py", line 399, in execute_from_command_line
utility.execute()
File "/usr/local/python276/lib/python2.7/site-packages/django/core/management/init.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/python276/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(_args, *_options.dict)
File "/usr/local/python276/lib/python2.7/site-packages/django/core/management/base.py", line 284, in execute
self.validate()
... ...
File "/usr/local/python276/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 35, in
raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)
django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
./start_tank.sh: line 10: host: command not found