当前位置: 首页 > 工具软件 > openLooKeng > 使用案例 >

手动安装openLooKeng

曹经业
2023-12-01

手动安装openLooKeng

  1. 由于需要的jdk需 > 1.8.0_151,所以请到jdk官网下载响应版本的jdk,这里我用的是
[root@ocdp198 ~]# java -version
java version "1.8.0_271"
  1. 获取openLooKeng安装包
wget https://download.openlookeng.io/1.0.1/hetu-server-1.0.1.tar.gz
  1. 解压安装包
tar -zxvf hetu-server-1.0.1.tar.gz
  1. 创建数据目录的位置(文件系统路径)。openLooKeng将在这里存储日志和其他数据。
mkdir -p /data/openlookeng/data
  1. 在安装目录下创建etc目录
mkdir /<openlookeng home>/etc
  1. 创建node.properties包含每个节点特有的配置
[root@ocdp198 etc]# cat config.properties
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=9090
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://10.1.236.198:9090

node.environment:环境名称。同一集群内所有openLooKeng节点的环境名称必须相同。
node.id:openLooKeng安装的唯一标识符。该属性对于每个节点必须唯一。在openLooKeng的重启或升级过程中,此标识符应该保持一致。如果在一台机器上运行多个openLooKeng安装(即同一机器上多个节点),每个安装必须有一个唯一的标识符。
node.data-dir:数据目录的位置(文件系统路径)。openLooKeng将在这里存储日志和其他数据。

NOTE: 可以通过shell cat /proc/sys/kernel/random/uuid 获取一个uuid

  1. JVM配置
[root@ocdp198 etc]# cat jvm.config
-server
-Xmx16G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+UseGCOverheadLimit
-XX:+HeapDumpOnOutOfMemoryError
-XX:ReservedCodeCacheSize=512M
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=2000000
  1. 配置属性,这里我配置的是coordinator和worker在同一个节点
[root@ocdp198 etc]# cat config.properties
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=9090
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://10.1.236.198:9090

如果是多节点的情况,可以参考官网的安装配置:
协调器的最基本配置如下:

coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080

工作节点的最基本配置如下:

coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080

这些属性需要一些解释:

coordinator:允许此openLooKeng实例充当协调节点(接受来自客户端的查询并管理查询执行)。
*node-scheduler.include-coordinator:*允许在协调节点上调度工作。对于较大的集群,协调节点上的处理工作会影响查询性能,因为机器的资源不能用于调度、管理和监视查询执行的关键任务。
*http-server.http.port:*指定HTTP服务器的端口号。openLooKeng使用HTTP进行所有内部和外部通信。
*query.max-memory:*查询可能使用的最大分布式内存量。
*query.max-memory-per-node:*查询在任何一台机器上可能使用的最大用户内存量。
*query.max-total-memory-per-node:*一个查询在任意一台机器上可以使用的最大用户和系统内存量,其中系统内存是读取器、写入器和网络缓冲区等在执行期间使用的内存。
*discovery-server.enabled:*openLooKeng使用Discovery服务查找集群中的所有节点。每个openLooKeng实例在启动时都会将自己注册到Discovery服务。为了简化部署并避免运行额外的服务,openLooKeng协调节点可以运行Discovery服务的嵌入式版本。该版本与openLooKeng共用HTTP服务器,因此使用相同端口。
*discovery.uri:*Discovery服务器的URI。由于我们已经在openLooKeng协调节点中启用了Discovery的嵌入式版本,因此这应该是openLooKeng协调节点的URI。替换example.net:8080以匹配openLooKeng协调器的主机和端口。该URI不能以斜杠结尾。

可以设置以下属性:
*jmx.rmiregistry.port:*JMX RMI注册表端口。JMX客户端应该连接到此端口。
*jmx.rmiserver.port:*JMX RMI服务器端口。openLooKeng导出了许多对通过JMX进行监视的有用指标。

  1. 日志级别
[root@ocdp198 etc]# cat log.properties
io.prestosql=DEBUG
  1. 创建目录属性,openLooKeng通过连接器访问数据,这些连接器安装在目录中。连接器提供了目录中的所有模式和表。通过在etc/catalog目录中创建目录属性文件来注册目录。这里我是连接Hive, 所以创建hive.properties,那么在openlookeng里面会多出一个名为 hive catalog,如果是多Hive数据源,你可以在创建一个hive1.properties,这样就会多出一个名为 hive1 的catalog
mkdir catalog
touch hive.properties

[root@ocdp198 catalog]# cat hive.properties
connector.name=hive-hadoop2
hive.metastore.uri=thrift://10.1.236.70:9083
hive.config.resources=/etc/hadoop/3.1.0.0-78/0/core-site.xml,/etc/hadoop/3.1.0.0-78/0/hdfs-site.xml
  1. 拷贝连接Hadoop集群的配置文件到openlookeng的相应目录,这里需要与hive.properties中的hive.config.resources所对应
scp root@10.1.236.69:/etc/hadoop/3.1.0.0-78/0/core-site.xml /etc/hadoop/3.1.0.0-78/0/
scp root@10.1.236.69:/etc/hadoop/3.1.0.0-78/0/hdfs-site.xml /etc/hadoop/3.1.0.0-78/0/

NOTE:core-site和hdfs-site中如果是主机名,那么需要在openlookeng的所以节点上配置/etc/hosts,不然在启动过程中会遇到UnknowHosts异常

  1. 启动openlookeng

守护进程的方式启动

bin/launcher start

前台运行

bin/launcher run
......
2020-12-03T15:53:42.984+0800	INFO	main	Bootstrap	hive.security.sql-standard-imp
2020-12-03T15:53:43.034+0800	INFO	main	io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreModule	Binding default implementation of MetastoreClientFactory.
2020-12-03T15:53:43.034+0800	INFO	main	io.prestosql.plugin.hive.metastore.thrift.ThriftMetastoreModule	Binding default implementation of ThriftMetastore.
2020-12-03T15:53:44.781+0800	INFO	main	io.prestosql.metadata.StaticCatalogStore	-- Added catalog hive using connector hive-hadoop2 --
2020-12-03T15:53:44.799+0800	INFO	main	io.prestosql.connector.ConnectorManager	Announce connector ids, ACTIVE [hive, system], All [hive, system]
2020-12-03T15:53:44.799+0800	INFO	main	io.prestosql.metadata.DiscoveryNodeManager	Dynamic catalog feature is disabled
2020-12-03T15:53:44.799+0800	INFO	main	io.prestosql.security.AccessControlManager	-- Loading system access control --
2020-12-03T15:53:44.803+0800	INFO	main	io.prestosql.security.AccessControlManager	-- Loaded system access control allow-all --
2020-12-03T15:53:44.804+0800	INFO	main	io.prestosql.statestore.LocalStateStoreProvider	No configuration file found, skip loading state store client
2020-12-03T15:53:44.848+0800	INFO	main	io.prestosql.server.PrestoServer	======== SERVER STARTED ========
  1. 连接openlookeng
java -jar hetu-cli-1.0.1-executable.jar --server 10.1.236.198:9090

可以通过 java -jar hetu-cli-1.0.1-executable.jar --help 查看更多帮助信息

  1. 执行SQL
lk> select * from hive.prestotest.score2;
 sno |  cno  | degree
-----+-------+--------
 103 | 3-245 |     86
 101 | 3-105 |     64
 108 | 6-166 |     81
 101 | 6-166 |     85
 109 | 3-245 |     68
 107 | 3-105 |     91
 103 | 3-105 |     92
 105 | 3-245 |     75
 105 | 3-105 |     88
 107 | 6-166 |     79
 109 | 3-105 |     76
 108 | 3-105 |     78
(12 rows)

Query 20201203_080323_00001_avyqp, FINISHED, 1 node
Splits: 28 total, 28 done (100.00%)
0:05 [12 rows, 156B] [2 rows/s, 33B/s]

lk>
 类似资料: