Accumulo安装及其配置
环境: Ubuntu20
依赖: java11、 hadoop、 zookeeper
Accumulo是一个使用谷歌BigTable的设计思路,基于Hadoop、Zookeeper和Thrift构建的,可靠的、可伸缩的、高性能的排序分布式KV数据存储系统。这个开源项目是由美国国家安全局开发,并于2011年发布的。目前,Accumulo属于Apache的顶级项目,它具有BigTable中所没有的一些功能,例如基于单元的访问控制。
安装
tar xfz ./accumulo.tar.gz
Accumulo基于hdfs做文件系统,zookeeper为分布式管理.
运行Accumulo前还需要hdfs和zookeeper环境
Hadoop安装
这个网上较多,可以搜索查看。
Zookeeper安装
参考教程: 如何在Ubuntu 20.04上安装Apache ZooKeeper - A5互联 - 博客园
下载地址: https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
拷贝到Ubuntu环境
解压:
tar zxf apache-zookeeper-3.6.2-bin.tar.gz
# 进入zookeeper
cd apache-zookeeper-3.6.2-bin
# 按照规范应该改名为 zoo.crg
cd conf/
mv zoo_sample.cfg zoo.cfg
接下来,使用以下命令将提取的目录重命名为zookeeper并移动至/opt/目录
sudo mv apache-zookeeper-3.6.2-bin /opt/zookeeper
接下来,使用以下命令更改zookeeper目录的所有权(username为你的用户名):
chown -R username:username /opt/zookeeper
在独立模式下配置ZooKeeper
接下来,您将需要创建ZooKeeper配置文件以独立模式设置ZooKeeper。您可以使用以下命令创建它:
nano /opt/zookeeper/conf/zoo.cfg
修改以下行:
tickTime=2500
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=80
完成后,保存并关闭文件。然后,使用以下命令启动ZooKeeper服务:
cd /opt/zookeeper
bin/zkServer.sh start
您应该获得以下输出:
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
默认情况下,ZooKeeper监听端口2181。您可以使用以下命令检查它:
ss -ntpl | grep 2181
您应该获得以下输出:
LISTEN 0 50 *:2181 *:* users:(("java",pid=12749,fd=53))
启动客户端进入命令行
./bin/zkClient.sh
配置 Accumulo
已经将 Hadoop 的 NameNode 默认端口从 8020 修改为 9000,并且希望在不修改端口的情况下运行 Accumulo,你需要确保 Accumulo 配置文件中指向正确的 Hadoop NameNode 端口。以下是具体步骤:
1. 修改 Accumulo 配置文件
Accumulo所有配置全在conf文件夹.
编辑 Accumulo 的配置文件 accumulo.properties
,确保其中的 Hadoop NameNode 地址和端口与你的 Hadoop 配置一致。
conf/accumulo.properties
找到并修改以下配置项:
properties
instance.volumes=hdfs://localhost:9000/accumulo
确保 instance.volumes
指向正确的 Hadoop NameNode 地址和端口。
accumulo需要基于hdfs与zookeeper,通过修改conf/accumulo-env.sh中的HADOOP_HOME 与 ZOOKEEPER_HOME地址为实际安装地址
arball 发行版的目录中有四个脚本 用于管理 Accumulo:bin
-
accumulo
- 运行 Accumulo 命令行工具并启动 Accumulo 进程 -
accumulo-service
- 将单个 Accumulo 进程作为后台运行 服务业 -
accumulo-cluster
- 在单个节点或多个节点上管理 Accumulo 集群 节点 -
accumulo-util
- 用于构建原生库的 Accumulo 实用程序,运行 罐子等。
Accumulo 启动
启动hdfs
cd /your_hadoop_path
bash ./sbin/start-dfs.sh
# 查看是否运行成功
jps
启动 zookeeper
cd /your_zookeeper_path
./bin/zkServer.sh start
初始化实例
./accumulo init
# 输入实例名称与密码
配置客户端参数
修改 conf/accumulo-client.properties文件中的instance.name为刚刚init的实例名称
instance.name=myinstance
运行 Accumulo
运行 Accumulo 的方法有多种:
- 使用命令运行 Accumulo 进程,该命令在前台运行进程,并且不会重定向 stderr/stdout。用于创建运行 Accumulo 的 init.d 脚本。
accumulo
- 将单个 Accumulo 进程作为服务运行,该服务使用命令但对进程进行后台处理、重定向 stderr/stdout 并管理 pid 文件。如果您使用的是集群管理工具(即 Ansible、Salt 等),这将非常有用。
accumulo-service``accumulo
- 使用 (用于运行服务) 在一个或多个节点上运行 Accumulo 集群。对于本地开发和测试,或者您没有在生产中使用自己的集群管理工具,这很有用。
accumulo-cluster``accumulo-service
具体可以学习:Apache Accumulo® 用户手册 版本 1.10
启动tserver
启动tablet server
accumulo tserver
shell连接
accumulo提供了一个shell连接服务器
accumulo shell -u root
# 密码为实例创建时设置的
之后进入accumulo shell界面
测试
我们可以在终端中建表,但我们得先运行manger server,不然建表会堵塞
我们可以通过accumulo-service来启动单个服务,其中manager为管理服务,其中后续文章介绍
accumulo-service manager start
root@myinstance> tables
accumulo.metadata
accumulo.root
root@myinstance> createtable mytable
root@myinstance mytable>
root@myinstance mytable> tables
accumulo.metadata
accumulo.root
mytable
root@myinstance mytable> createtable testtable
root@myinstance testtable>
root@myinstance testtable> deletetable testtable
deletetable { testtable } (yes|no)? yes
Table: [testtable] has been deleted.
root@myinstance>
root@myinstance mytable> scan
root@myinstance mytable> insert row1 colf colq value1
insert successful
root@myinstance mytable> scan
row1 colf:colq [] value1
Apache Accumulo® 用户手册 版本 1.10 --- Apache Accumulo® User Manual Version 1.10
标签:实战,bin,Accumulo,zookeeper,myinstance,开发,root,accumulo From: https://www.cnblogs.com/runtimeerror/p/18634333