GeoMesa-单机搭建

系统安装

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
    <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/station/hadoop/tmp</value>
    <description>Abase for other temporary directories.</description>
    </property>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
    </property>
  • 修改配置文件 hdfs-site.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/station/hadoop/tmp/dfs/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/station/hadoop/tmp/dfs/data</value>
    </property>
  • 配置完成后,执行 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
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

修改配置文件 yarn-site.xml

1
2
3
4
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

启动 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
    <property>
    <name>hbase.rootdir</name>
    <value>file:///usr/local/station/db/hbase</value>
    # hdfs://localhost:9000/hbase
    </property>
    <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    </property>
    <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/station/db/hbase/zk_data</value>
    </property>
  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启动完毕

大专栏  GeoMesa-单机搭建f="#安装Kafka" class="headerlink" title="安装Kafka">安装Kafka

  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
原文地址:https://www.cnblogs.com/lijianming180/p/12302396.html