GVKun编程网logo

Linux x86_64上的Cassandra启动错误1.2.6

7

以上就是给各位分享Linuxx86_64上的Cassandra启动错误1.2.6,同时本文还将给你拓展android–在x86_64linux机器上编译gentoo-bionic、assembly–在

以上就是给各位分享Linux x86_64上的Cassandra启动错误1.2.6,同时本文还将给你拓展android – 在x86_64 linux机器上编译gentoo-bionic、assembly – 在汇编程序中编写x86_64 linux内核模块、c – x86_64上的2的快速浮点功率、C/C++ 语言组件(Linux / x86_64)失败等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Linux x86_64上的Cassandra启动错误1.2.6

Linux x86_64上的Cassandra启动错误1.2.6

尝试从最新的稳定版本在Linux上安装cassandra- http
://cassandra.apache.org/download/-1.2.6

我修改了cassndra.yaml使其指向自定义目录而不是/ var,因为我没有对/ var的写权限

我在启动时看到此错误。由于该版本相对较新,因此无法在Google上找到任何答案。只是将其发布在这里,以防万一我这边是个愚蠢的错误。

在我的macOS x86_64机器上,相同的分发文件工作正常。

 INFO 19:24:35,513 Not using multi-threaded compactionjava.lang.reflect.InvocationTargetException    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:322)    at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:229)    at org.xerial.snappy.Snappy.<clinit>(Snappy.java:48)    at org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:45)    at org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:55)    at org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:37)    at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:82)    at org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:81)    at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:468)    at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:123)    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:211)    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:441)    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:484)Caused by: java.lang.UnsatisfiedLinkError: /tmp/snappy-1.0.5-libsnappyjava.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9'' not found (required by /tmp/snappy-1.0.5-libsnappyjava.so)    at java.lang.ClassLoader$NativeLibrary.load(Native Method)    at java.lang.ClassLoader.loadLibrary1(Unknown Source)    at java.lang.ClassLoader.loadLibrary0(Unknown Source)    at java.lang.ClassLoader.loadLibrary(Unknown Source)    at java.lang.Runtime.load0(Unknown Source)    at java.lang.System.load(Unknown Source)    at org.xerial.snappy.SnappyNativeLoader.load(SnappyNativeLoader.java:39)    ... 17 more

请提出可能是什么问题。当我发现任何新内容时,我还将在此页面上添加更多发现。

我尝试设置

internode_compression: none

但是,仍然在日志中看到相同的错误。

答案1

小编典典

看起来您(a)在带有不兼容的glibc的系统上运行,适用于snappy 1.0.5,并且(b)从较早的版本进行了升级。

如果在不兼容Snappy的系统上重新启动Cassandra,它将检测到该问题并跳过压缩。但是,当您进行升级并且压缩了系统表时,Cassandra无法执行任何操作。

您可以降级,可以升级glibc,也可以降级,切换到lz4并运行upgradesstables,然后再次升级。

编辑:您也可以只将旧的1.0.4快照放进去,然后删除1.0.5。

编辑2:这是RHEL 5吗?几乎所有现代的东西都应该与snappy-1.0.5兼容。

android – 在x86_64 linux机器上编译gentoo-bionic

android – 在x86_64 linux机器上编译gentoo-bionic

您可能知道,Bionic是Google用于运行Android应用程序的C库.有人在Linux机器上进行编译,因此可以在Android之外轻松使用.这是最近一次努力的代码,最初称为Gentoo-bionic.原始项目是基于Gentoo的,但目前的来源不是Gentoo特有的.我正在使用Ubuntu.这是代码:

https://github.com/gentoobionic/bionic

这是关于ELC2013的介绍:

> http://elinux.org/images/2/25/2013_elc_gentoo_bionic.pdf
> http://free-electrons.com/blog/elc-2013-videos/(声音不好)

我试图在X86_64 Ubuntu上编译它,但失败了.我试过了:

./autogen.sh
./configure

我有:

configure: error: unsupported host cpu x86_64

所以我尝试过:

./configure --build=arm-linux --target=arm-linux --host=arm-linux

配置很好,但我得到:

$make
make: *** No rule to make target `libc/arch-x86/include/machine/cpu-features.h',
    needed by `all-am'.  Stop.

是否有人可以建议解决方法?

解决方法:

自2015年11月起,我的set of ebuid scripts在我的Gentoo x86_64桌面上为x86_64和i386编译仿生.所需工具:glibc目标GCC版本4.9.3或5.3.0; binutils 2.4.25或更早版本,glibc-targeting clang 3.5.0,make.

如果您可以在桌面上安装这些工具,则可以编译仿生.

但请注意,我的ebuild应用了大量补丁.

要了解他们的工作,您可以执行以下操作:

>在x86_64台式机或笔记本电脑上启动Gentoo DVD.
>安装我的脚本.
>例如,运行它们捕获输出

USE = verbose ebuild bionic / bionic-5.1.1-r29.ebuild clean install qmerge 2>& 1 | tee /tmp/bionic.cout

一旦这样的命令终止,您将获得修补的源代码树,中间和最终编译结果,以及使用gcc / clang / ld / ar命令行的完整构建日志.

assembly – 在汇编程序中编写x86_64 linux内核模块

assembly – 在汇编程序中编写x86_64 linux内核模块

我尝试在nasm中编写简单的内核模块(v3.6),但insmod说我:
$sudo insmod  ./hello.ko
insmod: ERROR: Could not insert module ./hello.ko: Invalid module format
$echo $?
1

我编译我的代码:

$nasm -f elf64 -o hello.m hello.asm
$ld -m elf_x86_64 -r -o hello.ko hello.m

和我的模块代码:

section .modinfo
    __mod_kernel_version db "kernel_version=3.6.8",0
    __mod_license        db "license=GPL",0
    __mod_author         db "author=actics",0
    __mod_description    db "description=hello world module in nasm",0


section .data
    init_mess    db "init_module",10,0
    cleanup_mess db "cleanup_module",0


section .text
    global init_module
    global cleanup_module

    extern printk

init_module:
    push rbp
    mov rbp,rsp

    xor rax,rax
    mov rdi,init_mess
    call printk

    xor rax,rax
    mov rsp,rbp
    pop rbp
    ret

cleanup_module:
    push rbp
    mov rbp,cleanup_mess
    call printk

    xor rax,rbp
    pop rbp
    ret

请帮忙.在互联网中,我找到了1个与2.4相同代码的链接,但他也没有工作
我的系统 – 带有3.6.8内核的archlinux

更新:
在nasm论坛中,我找到了有趣的解决方案.这对我有用,如果我的模块返回0并退出:)但是如果我尝试添加“extern printk”insmod说下一个:

ERROR: Could not insert module hello.ko: Invalid parameters

我做错了什么?我的代码:

[bits 64]

global init_module
global cleanup_module

;extern printk

section .modinfo
    __mod_description8  db   'description=Simple module',0
    align 16,db 0
    __mod_author7       db   'author=That´s me',0
    __mod_license6      db   'license=GPL',db 0
    __module_depends    db   'depends=',0
    align 32,db 0
    __mod_vermagic5     db   'vermagic=3.6.8-1-ARCH SMP preempt mod_unload modversions ',0   ;from a .ko module of my system

section __versions
    ____versions      db   0xdf,0xbc,0xbf,0x8c,"module_layout"   ;from a .ko module of my system
    align 64,db 0

section .data
    init_mess    db "init_module",0


section .text

init_module:
    xor rax,rax
    ret

cleanup_module:
    xor rax,rax
    ret

section .gnu.linkonce.this_module
    times 24 db 0
__name:         db  'Simple',0
    times (0x168 - 24 - 7) db 0
__init_module:      dq  init_module
    times 0x2ac db 0
__cleanup_module:   dq  cleanup_module
    times 1152 db 0

此代码适用于:
nasm -f elf64 hello.asm -o hello.o

但如果我取消注释printk这没有用!)

解决方法

我所做的是使用标准模块宏编写一个小的C包装器,并将其与用asm编写的主模块代码链接起来.使用普通的内核构建系统来构建它.

的module.c:

#include <linux/module.h>
MODULE_AUTHOR("A. U. Thor");
MODULE_DESCRIPTION("Description");
MODULE_LICENSE("GPL");
extern int asm_init(void);
int main_init(void)
{
    return asm_init();
}
module_init(main_init);

main.asm中:

[bits 64]
global asm_init
asm_init:
    xor rax,rax
    ret

Makefile文件:

obj-m += test.o
test-objs := module.o main.o
$(KBUILD_EXTMOD)/main.o: main.asm
        nasm -f elf64 -o $@ $^

使用命令构建:make -C< path_to_kernel_src> M = $PWD

c – x86_64上的2的快速浮点功率

c – x86_64上的2的快速浮点功率

是否有一种快速的方法将2.0带到一些浮点数x?我的意思是比pow(2.0,x)更快的东西,更喜欢用AVX2很好地矢量化.

整数的对应部分是1 << n,但它仅适用于整数n.

解决方法

标准 std::exp2(double n)

Computes 2 raised to the given power n

在特定环境中,exp2(x)可能不会比pow(2.0,x)快,但它比一般pow更具体.

C/C++ 语言组件(Linux / x86_64)失败

C/C++ 语言组件(Linux / x86_64)失败

如何解决C/C++ 语言组件(Linux / x86_64)失败?

为什么不能工作?我手动从 vsix 更新了 ms-vscode.cpptools-1.3.1,但是 vscode 仍然要求我提供其他软件包,我不知道我还应该为它做什么,请帮助我。我几乎花了一整天的时间。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

关于Linux x86_64上的Cassandra启动错误1.2.6的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于android – 在x86_64 linux机器上编译gentoo-bionic、assembly – 在汇编程序中编写x86_64 linux内核模块、c – x86_64上的2的快速浮点功率、C/C++ 语言组件(Linux / x86_64)失败的相关知识,请在本站寻找。

本文标签: