我想连接到cassandra但是遇到了这个错误:
$ bin/cqlsh
Connection error: ('Unable to connect to any servers', {'192.168.1.200': error(10061, "Tried connecting to [('192.168.1.200', 9042)]. Last error: No connection could be made because the target machine actively refused it")})
答案 0 :(得分:1)
检查您是否已启动Cassandra服务器,然后提供port
和$ bin/cqlsh 127.0.0.1 4092
作为参数。
#import "SettingsViewController.h"
#import "Category.h"
#import "Subject.h"
#import "QuotesAppDelegate.h"
@implementation SettingsViewController
@synthesize subjects, categories, selectedSubject, selectedCategory, selectedTabs;
static NSString *kCellIdentifier = @"MyIdentifier";
...
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemCancel
target:self action:@selector(cancel_Clicked:)];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemSave
target:self action:@selector(save_Clicked:)];
...
- (void) cancel_Clicked:(id)sender {
//Dismiss the controller.
[self.navigationController dismissViewControllerAnimated:YES completion: nil];
}
- (void) save_Clicked:(id)sender {
for (Subject *s in selectedTabs){
//NSLog(@"Set selected subject %@ to %ld", s.title, (long)s.active);
//UPDATE THE ACTIVE STATUS ON THE SELECTED SUBJECTS
[s setActiveStatus:s.active];
//UPDATE ARRAY
for (Subject *sub in self.subjects){
if (sub.subject_id == s.subject_id){
[sub setActive:s.active];
}
}
}
//RELOAD WHOLE DATABASE
QuotesAppDelegate *appDelegate = (QuotesAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate populateFromDatabase];
self.categories = [appDelegate activeCategories];
self.subjects = [appDelegate activeSubjects];
[self.tableView reloadData];
[self.navigationController dismissViewControllerAnimated:YES completion: nil];
}
答案 1 :(得分:1)
非常简单。
机器主动拒绝,因为您的系统上没有运行cassandra。按照以下步骤彻底摆脱这个麻烦:
~\installation\path\DataStax-DDC\apache-cassandra\bin
。cmd
。 (如果您使用的是Windows 8或更高版本,请使用Alt
+ F
+ P
打开它。cassandra -f
这会在窗口上生成很多内容,您必须将最后一行设为INFO 11:32:31 Created default superuser role 'cassandra'
cmd
窗口。cqlsh
这应该给你一个提示,没有任何错误。
我还发现如果我在Archived version of Cassandra使用cassadra v2.x ,则不会弹出此错误。 我不知道为什么:((如果你发现请注释)。
因此,如果上述步骤不起作用,您可以随时返回Cassandra v2.x.
干杯。
答案 2 :(得分:0)
我在Win32 Windows 7机器上也遇到了同样的问题。
希望这可以解决问题。应用上述两个步骤解决了我的问题。
答案 3 :(得分:0)
我遇到了同样的问题。这对我有用。
转到任何目录,例如E:\(不必与cassandra安装相同的光盘)
创建以下目录
E:\cassandra\storage\commitlogs
E:\cassandra\storage\data
E:\cassandra\storage\savedcaches
然后转到你的cassandra安装conf
路径。就我而言。
D:\DataStax-DDC\apache-cassandra\conf
打开cassandra.yaml。编辑包含以下内容的行:data_file_directories, commitlog_directory, saved_caches_directory
,看起来像下面的代码(根据您创建文件夹的位置更改路径)
data_file_directories:
- E:\cassandra\storage\data
commitlog_directory: E:\cassandra\storage\commitlog
saved_caches_directory: E:\cassandra\storage\savedcaches
然后打开cmd(我是以管理员身份执行,但未检查是否有必要)到您的cassandra安装bin
路径。就我而言。
D:\DataStax-DDC\apache-cassandra\bin
运行cassandra -f
很多东西都会记录到你的屏幕上。
您现在应该可以毫无问题地运行cqlsh
和所有其他内容。
编辑:操作系统是windows10 64bit
Edit2:如果它在一段时间后停止工作,请检查服务是否使用nodetool status
运行。如果不遵循this指令。
答案 4 :(得分:0)
您需要为cassandra cqlsh连接提及主机,用户,密码。默认cassandra cqlsh 用户是 cassandra ,密码是 cassandra 。
$ bin/cqlsh <host> -u cassandra -p cassandra
答案 5 :(得分:0)
我也有同样的问题。我应用了Google和youtube上给出的许多方法,但在我的情况下它们都无效。最后,我应用了以下3个步骤,在我的情况下它可以正常工作:-
现在您的程序已准备就绪,可以开始工作了。
答案 6 :(得分:0)
没有特殊的方法可以简单地连接cqlsh,如下所示:-
$ bin / cqlsh 127.0.0.1(主机IP)9042或$ bin / cqlsh 127.0.0.1(主机IP)9160(如果是Cassandra的旧版本)
如果将cqlsh连接到远程主机,请不要忘记检查端口连接。另外,如果默认启用,则可以使用用户名/密码。