Intereting Posts
Индикатор выполнения Curl PHP (процент возврата обратного вызова) ERROR_MESSAGE_MAIN ERROR_MESSAGE_REASON на iPad и iPhone Safari codeigniter: получение данных, отправленных между двумя датами MySQL – переименовать столбец .htaccess Расширение файла Расширение кода Прерывание формы веб-сайта PHP: запись в файл excel с использованием PEAR PHP Ratchet: класс Memcache не найден Как запустить php-скрипт через SSH? Как фиксировать полные слова, используя substr () в PHP, ограничиваясь словом? Дженкинс-Джоб не работает MYSQL получает все сгруппированные результаты по одному запросу с подсчетом строк Как получить доступ к контейнеру службы в глобальной вспомогательной функции symfony2 (услуге)? использовать CRYPT_BLOWFISH на php 5.2, который не поддерживает его Как я могу сделать короткие случайные уникальные ключи, такие как идентификаторы видео YouTube, на PHP? $ var :: staticfunction () ОК, но $ this-> var :: staticfunction () NOT. В чем смысл?

Не удается подключиться к Cassandra на сервере облаков, используя phpcassa

Я установил тестовый облачный сервер (Ubuntu 10.10 на Rackspace), чтобы играть с базой данных Cassandra (0.6.8). Я не могу подключить никакую проблему как изнутри сервера, так и с внешнего компьютера к облаку с помощью базового клиента cassandra-cli: я создал и извлек образцы данных.

Затем я установил phpcassa на облачный сервер и на внешний компьютер.

Я создал очень простую программу php для проверки соединения:

<?php $GLOBALS['THRIFT_ROOT'] = dirname(__FILE__) . '/include/thrift/'; require_once $GLOBALS['THRIFT_ROOT'].'/packages/cassandra/Cassandra.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TSocket.php'; require_once $GLOBALS['THRIFT_ROOT'].'/protocol/TBinaryProtocol.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TFramedTransport.php'; require_once $GLOBALS['THRIFT_ROOT'].'/transport/TBufferedTransport.php'; include_once(dirname(__FILE__) . '/include/phpcassa.php'); include_once(dirname(__FILE__) . '/include/uuid.php'); echo 'phpcassa test01<br /><br />'; CassandraConn::add_node('184.106.97.245', 9160); $users = new CassandraCF('Keyspace1', 'Standard2'); try { $res = $users->get('jsmith'); print_r($res); } catch (Exception $e) { print CassandraConn::$last_error; } echo 'End.' ?> 

Я использую буферизованный транспорт.

Я могу с радостью подключить и прочитать данные с сервера (я также установил LAMP на нем):

 phpcassa test01 Array ( [age] => 42 [first] => John [last] => Smith ) End. 

но не извне, потому что я всегда получаю исключение:

 phpcassa test01 TException: TSocket: Could not connect to 184.106.97.245:9160 (Operation timed out [60]) End. 

Это мой файл storage-conf.xml:

 <Storage> <ClusterName>Test Cluster</ClusterName> <AutoBootstrap>false</AutoBootstrap> <HintedHandoffEnabled>true</HintedHandoffEnabled> <IndexInterval>128</IndexInterval> <Keyspaces> <Keyspace Name="Keyspace1"> <ColumnFamily Name="Standard1" CompareWith="BytesType" KeysCached="1000" RowsCached="100" RowCacheSavePeriodInSeconds="0" KeyCacheSavePeriodInSeconds="3600"/> <ColumnFamily Name="Standard2" CompareWith="UTF8Type" KeysCached="100%"/> <ColumnFamily Name="StandardByUUID1" CompareWith="TimeUUIDType" /> <ColumnFamily Name="Super1" ColumnType="Super" CompareWith="BytesType" CompareSubcolumnsWith="BytesType" /> <ColumnFamily Name="Super2" ColumnType="Super" CompareWith="UTF8Type" CompareSubcolumnsWith="UTF8Type" RowsCached="10000" KeysCached="50%" Comment="A column family with supercolumns, whose column and subcolumn names are UTF8 strings"/> <ReplicaPlacementStrategy>org.apache.cassandra.locator.RackUnawareStrategy</ReplicaPlacementStrategy> <ReplicationFactor>1</ReplicationFactor> <EndPointSnitch>org.apache.cassandra.locator.EndPointSnitch</EndPointSnitch> </Keyspace> </Keyspaces> <Authenticator>org.apache.cassandra.auth.AllowAllAuthenticator</Authenticator> <Partitioner>org.apache.cassandra.dht.RandomPartitioner</Partitioner> <InitialToken></InitialToken> <SavedCachesDirectory>/var/lib/cassandra/saved_caches</SavedCachesDirectory> <CommitLogDirectory>/var/lib/cassandra/commitlog</CommitLogDirectory> <DataFileDirectories> <DataFileDirectory>/var/lib/cassandra/data</DataFileDirectory> </DataFileDirectories> <Seeds> <Seed>184.106.97.245</Seed> </Seeds> <RpcTimeoutInMillis>10000</RpcTimeoutInMillis> <CommitLogRotationThresholdInMB>128</CommitLogRotationThresholdInMB> <ListenAddress>184.106.97.245</ListenAddress> <StoragePort>7000</StoragePort> <ThriftAddress>184.106.97.245</ThriftAddress> <ThriftPort>9160</ThriftPort> <ThriftFramedTransport>false</ThriftFramedTransport> <DiskAccessMode>auto</DiskAccessMode> <RowWarningThresholdInMB>64</RowWarningThresholdInMB> <SlicedBufferSizeInKB>64</SlicedBufferSizeInKB> <FlushDataBufferSizeInMB>32</FlushDataBufferSizeInMB> <FlushIndexBufferSizeInMB>8</FlushIndexBufferSizeInMB> <ColumnIndexSizeInKB>64</ColumnIndexSizeInKB> <MemtableThroughputInMB>64</MemtableThroughputInMB> <BinaryMemtableThroughputInMB>256</BinaryMemtableThroughputInMB> <MemtableOperationsInMillions>0.3</MemtableOperationsInMillions> <MemtableFlushAfterMinutes>60</MemtableFlushAfterMinutes> <ConcurrentReads>8</ConcurrentReads> <ConcurrentWrites>32</ConcurrentWrites> <CommitLogSync>periodic</CommitLogSync> <CommitLogSyncPeriodInMS>10000</CommitLogSyncPeriodInMS> <GCGraceSeconds>864000</GCGraceSeconds> <DoConsistencyChecksBoolean>true</DoConsistencyChecksBoolean> </Storage> 

Поддержка Rackspace предложила изменить настройки брандмауэра, но у меня нет брандмауэра:

 root@Oahu:~# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 

Любая помощь очень ценится !!!

Cheers, Rujero

    Доступ к узлу (первый) с помощью http://wiki.apache.org/cassandra/CassandraCli