GeoMesa-单机搭建
阅读原文时间:2023年07月12日阅读:2

系统安装

CentOS部署

  1. 新建虚拟电脑
  • 类型:Linux
  • 版本:Red Hat(64-bit)
  1. 创建虚拟硬盘
    • [x] 动态分配(磁盘占用较小)
    • [ ] 固定大小(使用起来较快)
  2. 安装设置(设置root用户和个人用户)
  • 本地化:日期和时间:亚洲/上海;键盘:汉语;语言支持:简体中文
  • 软件:安装源:本地介质;软件选择:GNOME桌面
  • 系统:安装位置:自动分区;KDUMP:已启用;网络和主机名:已连接
  1. 重启系统
  2. 安装增强功能(鼠标无缝平移,粘贴复制文本)

数据源

SSH无密码登录

  1. CentOS 默认已安装了 SSH client、SSHserver,打开终端执行如下命令进行检验, 如果返回的结果包含了 SSH client 跟 SSH server,则不需要再安装

    1

    rpm -qa | grep ssh

若需要安装,则可以通过 yum 进行安装:

1

2

sudo yum install openssh-clients

sudo yum install openssh-server

  1. 测试一下 SSH 是否可用:

    1

    ssh localhost

此时会有如下提示(SSH首次登陆提示),输入 yes。然后按提示输入密码 123456,这样就登陆到本机了。

  1. 但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便。首先输入exit退出刚才的ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:

    1

    2

    3

    4

    5

    exit # 退出刚才的 ssh localhost

    cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost

    ssh-keygen -t rsa # 会有提示,都按回车就可以

    cat id_rsa.pub >> authorized_keys # 加入授权

    chmod 600 ./authorized_keys # 修改文件权限

~ 代表的是用户的主文件夹,即 “/home/用户名” 这个目录

此时再用 ssh localhost 命令,无需输入密码就可以直接登陆。

安装JDK

  1. 查看已经安装的JDK

    1

    2

    3

    rpm -qa|grep java #命令来查询出系统自带的jdk

    sudo yum -y remove java-1.8.0-openjdk-headless-1.8.0.102-4.b14.el7.x86_64

    #卸载命令

卸载完成之后Java命令不被识别。

  1. 配置JDK

    1

    2

    3

    4

    vim /etc/profile

    export JAVA_HOME=/usr/local/station/jdk

    export PATH=$PATH:$JAVA_HOME/bin

    source /etc/profile # 使变量设置生效

gedit编辑器 插入:i;保存:w ;保存并退出:wq;

  1. 检验环境变量是否设置正确

    1

    2

    3

    4

    echo $JAVA_HOME # 检验变量值

    java –version

    javac

    $JAVA_HOME/bin/java -version # 与直接执行 java -version 一样

注:需要重启系统配置变量永久生效

安装Hadoop(伪分布)

  1. 下载地址

  2. 解压到相应的目录下,并检查版本。

  3. 将 Hadoop 安装目录加入 PATH 变量中。

    1

    2

    3

    4

    vim ~/.bashrc

    export HADOOP_HOME=/usr/local/station/hadoop

    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

    source ~/.bashrc #使配置生效

  4. Hadoop伪分布式配置

  • 修改配置文件hadoop-env.sh脚本

    1

    export JAVA_HOME=/usr/local/station/jdk

  • 修改配置文件 core-site.xml

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <name>hadoop.tmp.dir</name>
    
    <value>file:/usr/local/station/hadoop/tmp</value>
    
    <description>Abase for other temporary directories.</description>

    <name>fs.defaultFS</name>
    
    <value>hdfs://localhost:9000</value>

  • 修改配置文件 hdfs-site.xml

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    <name>dfs.replication</name>
    
    <value>1</value>

    <name>dfs.namenode.name.dir</name>
    
    <value>file:/usr/local/station/hadoop/tmp/dfs/name</value>

    <name>dfs.datanode.data.dir</name>
    
    <value>file:/usr/local/station/hadoop/tmp/dfs/data</value>

  • 配置完成后,执行 NameNode 的格式化

    1

    2

    cd /usr/local/station/hadoop #进入hadoop目录

    ./bin/hdfs namenode -format #NameNode格式化

NameNode 格式化之后要以下英文在图中看到,即成功。

1

2

has been successfully formatted

Exiting with status 0

1

2

3

4

5

./sbin/start-dfs.sh #开启 NameNode 和 DataNode守护

查看jps:

DataNode #数据节点

NameNode #名称节点

SecondaryNameNode #第二个名称节点

Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息

  • 启动YARN

修改配置文件 mapred-site.xml(重命名)

1

2

3

4

<name>mapreduce.framework.name</name>

<value>yarn</value>

修改配置文件 yarn-site.xml

1

2

3

4

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce\_shuffle</value>

启动 YARN脚本:

1

2

3

4

5

6

7

./sbin/start-yarn.sh # 启动YARN

./sbin/mr-jobhistory-daemon.sh start historyserver # 开启历史服务器

查看jps:

NodeManager #节点管理器

ResourceManager #资源管理器

JobHistoryServer #历史服务器

http://localhost:8088/cluster 查看历史服务器信息

安装Accumulo

  1. Accumulo提供了具有各种内存大小的服务器的示例配置,分别为512 MB,1 GB,2 GB和3 GB。本文采取3Gb 的配置(路径:/usr/local/station/db/accumulo/conf/examples/3GB),用户可以根据服务器配置来选择不同的Accumulo配置文件。 拷贝3GB对应的配置文件到conf目录

  2. 编辑accumulo-env.sh文件

    1

    2

    3

    export ZOOKEEPER_HOME=/usr/local/station/zk

    export HADOOP_HOME=/usr/local/station/hadoop

    export ACCUMULO_MONITOR_BIND_ALL="true" #打开监控界面

  3. 配置accumulo-site.xml

    1

    2

    3

    4

    1. instance.volumes属性:

    hdfs://localhost:9000 /accumulo

    2. trace.token.property.password属性:

    123456
  4. 初始化Accumulo

    1

    2

    3

    4

    5

    6

    7

    8

    9

    前提:hadoop和zookeeper已经开启

    hadoop fs -mkdir /accumulo #新建hdfs目录

    cd /usr/local/station/db/accumulo #切换

    /bin/accumulo init #初始化

    设置Instance:

    实例名:geomesa
    
    密码:123456

    登录:

    accumulo shell -u root

  5. Accumulo命令

    1

    2

    3

    cd /usr/local/station/db/accumulo

    ./bin/start-all.sh #启动

    ./bin/stop-all.sh #关闭

web界面:http://localhost:50095

安装Zookeeper

  1. 介绍

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

  1. 下载地址,并解压到相应路径。

    1

    2

    3

    4

    sudo tar -zxf /usr/local/station/zookeeper-3.4.10.tar.gz -C /usr/local # 解压到/usr/local中

    cd /usr/local/staton/

    sudo mv ./ zookeeper-3.4.10/ ./zookeeper # 将文件夹名改为hadoop

    sudo chown -R geomesa:geomesa ./zookeeper # 修改文件权限

  2. conf目录,zoo_sample.cfg为样例配置文件,修改为zoo.cfg

  3. 配置环境变量

    1

    2

    3

    4

    vim /etc/profile

    export ZK_HOME=/usr/local/station/zk

    export PATH=$PATH:$ZK_HOME/bin

    source /etc/profile #修改生效

  4. 测试是否成功

    1

    2

    3

    sh zkServer.sh start #启动

    sh zkServer.sh status #状态

    sh zkServer.sh stop #停止

安装HBase(伪分布)

  1. 修改conf/hbase-env.sh

    1

    2

    export JAVA_HOME=/usr/local/station/jdk #java路径

    export HBASE_MANAGES_ZK=false #不使用自带的zk

  2. 编辑hbase-site.xml

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    <name>hbase.rootdir</name>
    
    <value>file:///usr/local/station/db/hbase</value>

    # hdfs://localhost:9000/hbase

    <name>hbase.cluster.distributed</name>
    
    <value>true</value>

    <name>hbase.zookeeper.property.dataDir</name>
    
    <value>/usr/local/station/db/hbase/zk\_data</value>

  3. 配置hbase环境变量

    1

    2

    3

    4

    vim ~/.bashrc

    export HBASE_HOME=/usr/local/station/db/hbase

    export PATH=$PATH:$HBASE_HOME/bin

    source ~/.bashrc

  4. hbase命令

    1

    2

    3

    4

    start-hbase.sh #启动

    stop-hbase.sh #停止

    hbase shell #habse命令行模式

    hbase hbck #hbase查看原因(修复)

  5. jps

    1

    2

    3

    QuorumPeerMain # zk

    HRegionServer # hbase

    HMaster # hbase

HBase网址:http://localhost:16010

安装Cassandra

  1. 解压到相应目录/user/local/station/db/cassandra

  2. 修改配置文件cassandra-env.sh脚本

    1

    export JAVA_HOME=/usr/local/station/jdk

  3. 相关命令(jdk环境已配置完成)

    1

    2

    3

    4

    cd /usr/local/station/db/cassandra

    ./bin/cassandra –f –R #显示在前台运行 并使用roor用户权限

    bin/cqlsh #打开交互客户端

    localhost:9042 #IP:端口

1

ps -aux | grep cassandra

查看进程,当命令敲出后出现5012类似进程时,则cassandra启动完毕

  1. 修改配置

    1

    2

    3

    4

    5

    6

    vim config/server.properties

    #修改

    host.name=你的ip

    listeners=PLAINTEXT://你的ip:9092

    advertised.listeners=PLAINTEXT://你的ip:9092

    zookeeper.connect=你的ip:2181

  2. 设置环境变量

    1

    2

    3

    4

    vim ~/.bahsrc

    export HBASE_HOME=/usr/local/station/db/hbase

    export PATH=$PATH:$HBASE_HOME/bin

    source ~/.bashrc

  3. 启动zookeeper和kafka

    1

    2

    3

    4

    Sh zkServer.sh start #启动zk

    kafka-server-start.sh /usr/local/station/db/kafka/config/server.properties & #启动kafka

    查看jps:

    kafka

  4. 创建测试主题topic并测试(生产者发送消息,消费者实时接收消息)

    1

    2

    3

    4

    kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic ex #创建一个ex的主题

    kafka-console-producer.sh --broker-list localhost:9092 --topic ex --producer.config /usr/local/station/db/kafka/config/producer.properties #新生产者

    kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic ex --new-consumer --from-beginning --consumer.config /usr/local/station/db/kafka/config/consumer.properties #新消费者

    kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group test-consumer-group #查看消费进度

安装spark(分析使用)

  1. slaves:localhost(既是master还是worker)

  2. 添加到spark-env.sh(重命名)

    1

    export SPARK_DIST_CLASSPATH=$(/usr/local/workstation/hadoop/bin/hadoop classpath)

  3. 配置环境变量

    1

    2

    3

    4

    vim ~/.bashrc

    export SPARK_HOME=/usr/local/workstation/spark

    export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

    source ~/.bashrc

  4. 命令

    1

    2

    3

    4

    5

    6

    7

    start-master #master节点

    stop-master

    start-slaves #worker节点

    stop-slaves

    修改web端口:

    修改start-master.sh中的端口

    SPARK_MASTER_WEBUI_PORT=8090

安装livy

  1. 官网地址

  2. 修改配置

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    - livy-env.sh

    export SPARK_HOME=/usr/local/workstation/spark

    export HADOOP_CONF_DIR=/usr/local/workstation/hadoop/etc/hadoop

    - livy.conf

    livy.server.host = master

    livy.server.port = 8998

    livy.spark.master = yarn

    livy.spark.deploy-mode =cluster

    livy.ui.enabled = true

    livy.server.access-control.enabled = true

    livy.server.access-control.allowed-users = *

    livy.server.access-control.modify-users = *

    livy.server.access-control.view-users = *

GeoMesa-Accumulo搭建

Accumulo中环境配置
  1. 添加到geomesa-env.sh脚本中

    1

    2

    3

    export HADOOP_HOME=/usr/local/station/hadoop

    export ZOOKEEPER_HOME=/usr/local/station/zk

    export ACCUMULO_HOME=/usr/local/station/db/accumulo

  2. 部署Geomesa-Accumulo分布式运行时jar包放入到Accumulo的lib/ext下

    1

    /usr/local/station/dbegine/geomesa-accumulo/dist/accumulo/geomesa-accumulo-distributed-runtime_2.11-2.0.0.jar

  3. geomesa-accumulo/bin下的setup-namespace.sh脚本设置用户名密码和namespace

    1

    2

    3

    ./setup-namespace.sh -u root -p 123456 -n myNameSpace

    用户名:root
    
    密码:123456
  4. 由于授权的限制,支持shapefile和raster的相关文件需要单独安装

    1

    2

    ./bin/install-jai.sh

    ./bin/install-jline.sh

  5. 配置geomesa-accumlo环境变量(脚本导入数据使用)

    1

    2

    3

    4

    5

    geomesa-accumulo configure

    vim ~/.bashrc

    export GEOMESA_ACCUMULO_HOME=/usr/local/station/dbegine/geomesa-accumulo

    export PATH=${GEOMESA_ACCUMULO_HOME}/bin:$PATH

    source ~/.bashrc

GeoServer中环境配置
  1. 解压缩到GeoServer的 WEB-INF/lib目录中。

    1

    /usr/local/station/dbengine/geomesa-accumulo/dist/gs-plugins/geomesa-accumulo-gs-plugin_2.11-1.3.1-install.tar.gz

  2. 安装相应的hadoop和accumulo的jar包到GeoServer的WEB-INF/lib目录中。

    1

    2

    cd /usr/local/station/dbengine/geomesa-accumlo

    ./bin/install-hadoop-accumulo.sh /usr/local/station/tomcat/webapps/geoserver/WEB-INF/lib/

GeoMesa-HBase搭建

HBase中环境配置

  1. 下载地址

  2. 添加到geomesa-env.sh脚本

    1

    2

    export HADOOP_HOME=/usr/local/station/hadoop

    export HBASE_HOME=/usr/local/station/db/hbase

  3. 部署GeoMesa-HBase分布式运行时jar包放入hbase的lib文件夹中

    1

    /usr/local/station/db/hbase/dist/hbase/geomesa-hbase-distributed-runtime_2.11-1.3.3.jar

  4. 由于许可限制,必须单独安装形状文件支持的jar包。

    1

    2

    bin/install-jai.sh

    bin/install-jline.sh

  5. 配置geomesa-hbase环境变量(脚本导入数据使用)

    1

    2

    3

    4

    5

    geomesa-habse configure

    vim ~/.bashrc

    export GEOMESA_HBASE_HOME=/usr/local/station/dbegine/geomesa-hbase

    export PATH=${GEOMESA_HBASE_HOME}/bin:$PATH

    source ~/.bashrc

GeoServer中环境配置

  1. 解压缩到GeoServer的 WEB-INF/lib目录中。

    1

    $GEOMESA_HBASE_HOME/dist/gs-plugins/geomesa-hbase-gs-plugin_2.11-$VERSION-install.tar.gz

  2. 安装相应的hadoop和hbase的jar包到GeoServer的WEB-INF/lib目录中。

    1

    2

    cd /usr/local/station/dbegine/geomesa-hbase

    ./bin/install-hadoop.sh /usr/local/station/tomcat/webapps/geoserver/WEB-INF/lib/

GeoMesa-Cassandra搭建

Cassandra中环境配置

  1. 进入cqlsh控制台:

这将创建一个名为“mykeyspace”的关键空间。这是Cassandra中的顶级名称空间,它将为GeoMesa提供一个放置其所有数据的地方,包括空间特征和相关元数据的数据。

1

CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor' : 3};

  1. 在conf/geomesa-env.sh设置环境变量路径

    1

    export CASSANDRA_HOME=/usr/local/station/db/cassandra

  2. 手动将Cassandra JAR包安装到lib文件夹

    1

    2

    3

    cd /usr/local/station/dbegine/geomesa-cassandra

    ./bin/install-cassandra-jars.sh lib

    ./bin/install-tools-jars.sh lib

  3. 由于许可限制,必须单独安装形状文件支持的依赖jar包

    1

    2

    ./bin/install-jai.sh

    ./bin/install-jline.sh

  4. 配置geomesa-cassandra环境变量(geomesa-cassandra configure)

1

2

3

4

vim ~/.bashrc

export GEOMESA_HBASE_HOME=/usr/local/station/dbegine/geomesa-hbase

export PATH=${GEOMESA_HBASE_HOME}/bin:$PATH

source ~/.bashrc

GeoSever中环境配置

  1. 解压到tomcat/webapps/geoserver/WEB-IINF/lib/中。

    1

    dist/gs-plugins/geomesa-cassandra-gs-plugin_2.11-$VERSION-install.tar.gz

  2. 安装相应的cassandra的jar包到到GeoServer的WEB-INF/lib目录中。

    1

    2

    cd /usr/local/station/dbegine/geomesa-cassandra

    ./bin/install-cassandra-jars.sh /usr/local/station/tomcat/webapps/geoserver/WEB-INF/lib/

GeoMesa-Kafka搭建

Kafka中环境配置

  1. 在conf/geomesa-env.sh设置环境变量路径

1

2

export KAFKA_HOME=/usr/local/station/db/kafka

export ZOOKEEPER_HOME=/usr/local/station/zk

  1. install-kafka.sh脚本将所需的JAR下载到lib目录中

    1

    2

    cd /usr/local/station/dbegine/geomesa-kafka

    ./bin/install-kafka.sh

  2. 配置geomesa-kafka环境变量(geomesa-kafka configure)

    1

    2

    3

    4

    vim ~/.bashrc

    export GEOMESA_KAKFA_HOME=/usr/local/station/dbegine/geomesa-kafka

    export PATH=${GEOMESA_KAKFA_HOME}/bin:$PATH

    source ~/.bashrc

GeoServer中环境配置

1.解压到tomcat/webapps/geoserver/WEB-IINF/lib/中。

1

2

dist/gs-plugins/geomesa-kafka-$KAFKAVERSION-gs-plugin_2.11-$VERSION-install.tar.gz

WEB-INF/lib/

  1. 为Kafka和Zookeeper添加额外的JAR,确保其运行。

    1

    2

    Cd /usr/local/station/dbegine/geomesa-kafka

    ./bin/install-kafka.sh /usr/local/station/tomcat/webapps/geoserver/WEB-INF/lib/

GeoMesa-FS搭建

FS中环境配置

  1. 直接解压安装即可

  2. 配置hadoop环境变量到bashrc文件中即可

    1

    2

    3

    4

    5

    #插入数据到Hadoop文件系统中(parquet文件格式)

    geomesa-fs ingest -p file:///usr/local/workstation/dstest -e parquet -s example-csv -C example-csv --partition-scheme daily,z2-2bit example.csv

    #插入数据到本地文件系统中(parquet文件格式)

    geomesa-fs ingest -p file:///usr/local/workstation/dstest -e parquet -s example-csv -C example-csv --partition-scheme daily,z2-2bit example.csv

  3. 其他操作(本地操作系统)

    1

    2

    3

    4

    5

    6

    7

    8

    #导出数据

    geomesa-fs export -p file:///usr/local/workstation/dstest -f example-csv

    #查看文件系统的结构

    find /usr/local/workstation/dstest

    #浏览元数据信息

    cat /usr/local/workstation/dstest/example-csv/metadata.json

GeoServer中环境配置

1.解压到tomcat/webapps/geoserver/WEB-IINF/lib/中。

1

2

dist/gs-plugins/geomesa-fs-gs-plugin_2.11-$VERSION-install.tar.gz

WEB-INF/lib/

  1. 为FS添加额外的hadoop JAR包,确保其运行。

    1

    2

    Cd /usr/local/station/dbegine/geomesa-fs

    ./bin/install-hadoop.sh /usr/local/station/tomcat/webapps/geoserver/WEB-INF/lib/

  2. 将hadoop中的文件复制到geoserver中。

    1

    cp /usr/local/workstaion/hadoop/etc/hadoop/core-site.xml /usr/local/station/tomcat/webapps/geoserver/WEB-INF/classes

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章