zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    解释一下什么是servlet?
    HTTP请求的GET与POST方式的区别
    金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出?
    Java中的异常处理机制的简单原理和应用。
    error和exception有什么区别?
    运行时异常与一般异常有何异同?
    jsp有哪些动作?作用分别是什么?
    jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
    一个纸杯的测试用例
    白盒测试黑盒测试区别
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12302396.html
Copyright © 2011-2022 走看看