1. 程式人生 > >GeoMesa-Accumulo詳細配置及例項執行

GeoMesa-Accumulo詳細配置及例項執行

最近在搭建GeoMesa環境並執行一個Accumulo例項,在這個過程中遇到了很多問題,也感謝網上許多作者的文章,在此分享自己的學習經驗,一是為了讓初學者少走彎路,而是記錄自己的學習,因為這種東西一段時間不搞就會忘得差不多。
GeoMesa是開源的一套地理大資料處理套件,GeoMesa支援將海量的時空資料儲存到Accumulo,HBase,Google Bigtable和Cassandra資料庫中,並提供高效的索引來讀取、查詢這些資料。具體的軟體和工具介紹可以百度,好好理解,我對具體原理也不清楚,後續會寫文章記錄學習進度。
在執行例項之前,我們需要安裝一些必需軟體。如果對linux系統不熟的,可以先在主資料夾下新建GeoMesa資料夾,然後先將需要的壓縮包下載到給資料夾下。
作業系統Ubuntu14.04 LTS
1.下載Accumulo,

http://accumulo.apache.org/,有原始碼和二進位制檔案,這裡直接下載編譯之後的二進位制包就行。
2.Accumulo依賴Hadoop和ZooKeeper,http://hadoop.apache.org/https://zookeeper.apache.org/,下載同上,每個軟體在下載介面都有詳細的使用者文件說明和安裝使用步驟,稍微有點基礎的都可以按照步驟執行。
3.需要用到Maven,http://maven.apache.org/,同上。
4.JDK必不可少,可以在甲骨文網站Oracle下載,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
,選擇下載。下圖是我的安裝包和解壓後的檔案。
我用到的工具包

下載完這些軟體包並解壓後,接下來進行環境配置。可以參考accumulo-1.8.1資料夾下的INSTALL.md檔案,有相應的步驟。這裡我結合自己的經驗總結配置的步驟:
1.配置Java環境變數。Linux(Ubuntu)中配置檔案有多個,關於不同配置檔案說明可以參考以下文章:http://blog.csdn.net/l554644284/article/details/48398085。我這裡採用全域性配置:

[email protected]:~$ gedit ~/.bashrc
開啟bashrc配置檔案後,在末尾新增

export PATH=$JAVA_HOME
/bin:$PATH

接著,使配置檔案立即生效,命令如下:
source ~/.bashrc
驗證:
java -version

2.配置hadoop。網上有很多相關教程,hadoop官網也有很詳細的介紹,推薦去官網參考學習,我的配置步驟如下:
(1)安裝ssh和pdsh
$ sudo apt-get install ssh

$ sudo apt-get install pdsh
ssh免密碼登陸配置:
ssh-keygen -t rsa -P ” -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

ssh localhost
(2)解壓hadoop壓縮包後,在~/GeoMesa/hadoop/目錄下,建立tmp、hdfs/name、hdfs/data目錄,執行如下命令:
mkdir ~GeoMesa//hadoop/tmp
mkdir ~GeoMesa/hadoop/hdfs
mkdir ~GeoMesa/hadoop/hdfs/data
mkdir ~GeoMesa/hadoop/hdfs/name
說明:我把hadoop2.7.4解壓到~GeoMesa/hadoop資料夾下
(3)設定環境變數
gedit ~/.bashrc
在配置檔案末尾加入:

export HADOOP_HOME=~/GeoMesa/hadoop/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin

使配置檔案生效:
source ~/.bashrc
(4)hadoop配置
配置檔案
hadoop-2.7.4/etc/hadoop/hadoop-env.sh
hadoop-2.7.4/etc/hadoop/yarn-env.sh
hadoop-2.7.4/etc/hadoop/core-site.xml
hadoop-2.7.4/etc/hadoop/hdfs-site.xml
hadoop-2.7.4/etc/hadoop/mapred-site.xml
hadoop-2.7.4/etc/hadoop/yarn-site.xml
①配置hadoop-env.sh

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=~/GeoMesa/jdk1.8.0_144

②配置yarn-env.sh

# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=~/GeoMesa/jdk1.8.0_144

③配置core-site.xml

<property>
    <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    <description>HDFS的URI,檔案系統://namenode標識:埠號</description>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>~/GeoMesa/hadoop/tmp</value>
    <description>namenode上本地的hadoop臨時資料夾</description>
</property>

④配置hdfs-site.xml

<property>
    <name>dfs.name.dir</name>
    <value>~/GeoMesa/hadoop/hdfs/name</value>
    <description>namenode上儲存hdfs名字空間元資料 </description> 
</property>

<property>
    <name>dfs.data.dir</name>
    <value>~/GeoMesa/hadoop/hdfs/data</value>
    <description>datanode上資料塊的物理儲存位置</description>
</property>

<property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>副本個數,配置預設是3,應小於datanode機器數量</description>
</property>

⑤配置mapred-site.xml

<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

⑥配置yarn-site.xml

<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<property>
        <name>yarn.nodemanager.env-whitelist</name>
                 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

(5)啟動驗證hadoop
1)格式化namenode
bin/hdfs namenode –format
2)啟動NameNode 和 DataNode 守護程序
sbin/start-dfs.sh
3)啟動ResourceManager 和 NodeManager 守護程序
sbin/start-yarn.sh
4)執行jps命令,看hadoop是否啟動正常
jps
3.配置zookeeper
在配置檔案conf/zoo.cfg新增:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
啟動命令:
bin/zkServer.sh start
連線zookeeper:
bin/zkCli.sh -server 127.0.0.1:2181
這裡我們只要啟動zookeeper就行,相應的shell程式設計推薦參考官網。

4.配置Maven
(1)設定環境變數
gedit ~/.bashrc
在配置檔案末尾加入:
export PATH=~/GeoMesa/apache-maven-3.5.0/bin:$PATH
使配置檔案生效:
source ~/.bashrc
(2)執行
mvn -v

5.配置Accumulo
建議:仔細閱讀Accumulo資料夾下的INSTALL.md說明檔案
(1)選擇本地庫
./bin/build_native_library.sh
這裡可以執行,可以不執行,如果執行這一步下一步的第二個選項選Native,如果不執行選Java選項,推薦不執行。
(2)執行配置檔案
./bin/bootstrap_config.sh
注意:hadoop版本選項選第一個
(3)配置conf/accumulo-site.xml

<property>
  <name>instance.volumes</name>
  <value>hdfs://localhost:9000/accumulo</value>
  <description>comma separated list of URIs for volumes. example: hdfs://localhost:9000/accumulo</description>
</property>

<property>
  <name>instance.zookeeper.host</name>
  <value>localhost:2181</value>
  <description>comma separated list of zookeeper servers</description>
</property>

注意:閱讀INSTALL.md,因為每個人遇到的錯誤可能不一樣。
(4)初始化
./bin/accumulo init
初始化成功
出現上圖所示例項名稱和密碼,說明Accumulo配置成功。我根據上述步驟成功得到上述結果,後來我因為hadoop版本重新配置整個環境出現了問題,猜測可能是版本原因,目前還沒有解決該問題。如果你參照我的部落格配置出現問題,歡迎聯絡我。
(5)啟動Accumulo
./bin/start-all.sh
其他相關命令如下:
./bin/accumulo shell -u root
./bin/stop-all.sh
可在瀏覽器輸入localhost:9995進行檢視,如下圖
這裡寫圖片描述
6.安裝Geomesa-accumulo分散式執行庫
(1)這裡有編譯好的,下載一個1.3.0的就可以了
https://repo.locationtech.org/content/repositories/geomesa-releases/org/locationtech/geomesa/geomesa-accumulo-dist_2.11/
將geomesa-accumulo_2.11-1.3.0-m2/dist/accumulo/geomesa-accumulo-distributed-runtime_2.11-1.3.0-m2.jar 複製到ACCUMULO_HOME/lib/ext 下,如果有兩個複製一個即可。
(2)設定accumulo命令列工具
在geomesa-accumulo_2.11-1.3.0-m2/conf下的geomesa-env.sh中加入hadoop和accumulo根目錄
export HADOOP_HOME=~/GeoMesa/hadoop/hadoop-2.6.5
export ACCUMULO_HOME=~/GeoMesa/accumulo-1.8.1
(3)執行配置檔案
bin/geomesa configure
一直選擇yes
(4)配置環境變數
gedit ~/.bashrc
在配置檔案末尾加入:

export GEOMESA_ACCUMULO_HOME=/home/lw/GeoMesa/geomesa-accumulo_2.11-1.3.0-m2
export PATH=${GEOMESA_ACCUMULO_HOME}/bin:$PATH

使配置檔案生效:
source ~/.bashrc
7.安裝namespace
用geomesa-accumulo_2.11-1.3.0-m2/bin下的setup-namespace.sh指令碼設定使用者名稱密碼和namespace
./setup-namespace.sh -u root -p 123 -n myNamespace
8.執行示例程式
選擇目錄
$git clone https://github.com/geomesa/geomesa-tutorials.git
下載完成後

$cd geomesa-tutorials
$ mvn clean install -pl geomesa-quickstart-accumulo

最後,執行

java -cp target/geomesa-quickstart-accumulo-1.3.3.1-SNAPSHOT.jar 
com.example.geomesa.accumulo.AccumuloQuickStart -instanceId "123" 
-zookeepers localhost -user root -password "123" -tableName testgeomesa

成功執行

到此,整個環境搭建成功併成功執行案例。在學習的過程之中,會遇到各種各樣的bug,有些bug不知怎麼地就解決了,主要是自己對底層軟體的設計原理以及LInux的核心等不是很熟悉。在後續的學習中,我還會和大家共享GeoMesa的學習心得,比如結合GeoServer視覺化資料等等。在配置GeoMesa的過程中,我碰到了許多問題,也學習了一些其他的知識,限於這篇文章的篇幅,這裡就不說明了,歡迎大家的討論。
推薦大家一個不錯的網址:http://www.geomesa.org/documentation/tutorials/geomesa-quickstart-accumulo.html

相關推薦

GeoMesa-Accumulo詳細配置例項執行

最近在搭建GeoMesa環境並執行一個Accumulo例項,在這個過程中遇到了很多問題,也感謝網上許多作者的文章,在此分享自己的學習經驗,一是為了讓初學者少走彎路,而是記錄自己的學習,因為這種東西一段時間不搞就會忘得差不多。 GeoMesa是開源的一套地理大資

Doxygen的使用,配置例項

Doxygen是一種開源跨平臺的,以類似JavaDoc風格描述的文件系統,可以從一套歸檔原始檔開始,生成文件 下載Doxygen + Graphviz Doxygen可以生成動態文件 Graphviz可以生成檢視連線將.c檔案中所用到的函式、標頭檔案生成一個樹狀結構並且設定之後可以生成相

Nginx負載均衡的詳細配置使用案例詳解.!

Nginx負載均衡的詳細配置及使用案例詳解. 感謝看過這一些列博文和評論的小夥伴, 我把自己所看到的學到的拿到這裡來分享是想和大家一起學習進步, 想聽聽園友給出的意見, 也是對自己學習過程的一個總結. 技術無止境, 我們仍需努力!1,話不多說, 這裡我們來說下很重要的負載均衡, 那麼什

java日誌框架log4j詳細配置與slf4j聯合使用教程

注: 更讓你理解facade門面模式,更讓你理解jvm的run anyway 一、log4j基本用法   首先,配置log4j的jar,maven工程配置以下依賴,非maven工程從maven倉庫下載jar新增到“build path” 1 2

ActiveMQ安裝配置例項

                本文可作為吳水成老師,dubbo課程第21節的學習筆記。ActiveMQ的介紹及功能參考百度ActiveMQ的下載https://activemq.apache.org/activemq-5113-release.html另外,直接從官網下載,會有些慢,右鍵,檢查,找到地址後用

mybatis-generator 詳細配置使用,爬坑記錄

mybatis-generator 詳細配置及使用,爬坑記錄 提示:如果不成功一定是專案路徑和 資料庫配置出問題,本篇基於 MySQL 8.0.13,除錯沒有問題。 如果失敗,建議使用相同的專案結構,包名,進行重試,博主也是多次除錯,才成功。一些常見問題,看報錯提示資訊是可以看懂的,加油。 整個專案的原

java 兩種比較器的詳細介紹例項

1. Comparator 和 Comparable 相同的地方 他們都是java的一個介面, 並且是用來對自定義的class比較大小的, 什麼是自定義class: 如 public class Person{ String name; int age }. 當我們有這麼一

shiro框架的詳細配置使用

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta

深度學習之windows python faster rcnn 配置demo執行

寫這篇文章主要是針對深度學習零基礎的新手,因為我也是新手,在配置環境這一塊花了我很大的心血,網上的資料很多都只是說配置,然後直接執行就完了,可是對於我這樣的新手在配置的過程中會遇見各種各樣的問題,所以在此給大家把我所遇到的問題總結出來,以免後續的人少走彎路,不廢

開發環境配置基本執行原理講解

開發環境配置: 1.cocos2dx 2.2.3 windows開發環境搭建過程      win7 64位 + vs2013 + cocos2dx 2.2.3 + python2.7   1) 安裝python2.7,安裝過程預設即可   2)設定環境變數 Path,加上

阿里雲ecs伺服器配置java執行環境配置

1、先用Xshell登入阿里雲伺服器ECS。參考連結:https://blog.csdn.net/u013894429/article/details/788118232、登入阿里雲伺服器後,建立一個新使用者(一般都不直接用root使用者),並用新使用者登入。(1)建立一個使

Geomesa-accumulo安裝部署過程執行測試例項

一、前期準備工作: 1、基礎環境JDK安裝配置 (下載對應JDK包並進行環境變數配置),使用java -version檢視如下顯示,jdk環境配置成功; 2、基礎依賴環境Hadoop及zookeeper安裝配置成功並需要啟動(可參照hadoop叢集環境及zookeeper環境配置說明文

Geomesa-accumulo安裝部署過程執行相應例項

一、前期準備工作: 1、基礎環境JDK安裝配置 (下載對應JDK包並進行環境變數配置),使用java -version檢視如下顯示,jdk環境配置成功; 2、基礎依賴環境Hadoop及zookeeper安裝配置成功並需要啟動(可參照hadoop叢集環境及zookeep

Windows下qt的環境配置執行一個c++"hello world"例項詳細步驟

Linux環境下使用qt進行c++程式設計很常見,以前用過虛擬機器裡的linux進行過程式設計,因為大部分時間也是用的windows環境,故在windows下配置qt 編譯器可選擇mingw,vs,這裡選擇mingw編譯器 (1) 下載安裝qt-creator-openso

win10配置eclipse開發環境執行hadoop例項叢集執行

一,三,四都參考: https://www.cnblogs.com/supiaopiao/p/7240308.html https://blog.csdn.net/u010185220/article/details/79095179/ https://blog.cs

Windows7下啟用IIS7配置ASP執行環境的詳細方法常見除錯問題

一、安裝IIS7 開始-控制面板-預設程式-程式和功能-開啟或關閉windows功能。 注意:設定ASP的時候,Application Development Features下的ASP,ASP.NET一定要勾選好 二、配置IIS 1. IIS Manager可以在管理工具中找

Java GC 分析,JVM生產環境引數例項分析,JVM詳細配置

什麼是 Java GC Java GC(Garbage Collection,垃圾收集,垃圾回收)機制,是Java與C++/C的主要區別之一,作為Java開發者,一般不需要專門編寫記憶體回收和垃圾清理程式碼,對記憶體洩露和溢位的問題,也不需要像C程式設計師那樣戰戰兢兢。這是

使用 sitemesh/decorator裝飾器裝飾jsp頁面(原理詳細配置

sa一、SiteMesh介紹SiteMesh是一個Java WEB項目的網頁布局和修飾框架。使用SiteMesh後就不再需要在每個頁面中都用<jsp:include>標簽引入頁頭、頁尾、導航等其他公用頁面了。可以將網頁的內容和頁面結構分離,達到頁面結構共享的目的。頁面裝飾效果耦合在目標頁面中,無需

OpenStack之安裝4網卡ubuntu-14.04網絡詳細配置

安裝ubuntu14.04 網絡配置 virtualbox openstack 四個網卡:網絡1:物理機與虛擬機連接,為host-only類型,主要用來管理網絡,它的dhcp off。網絡2:Open vSwitch占用網絡,也是Host-only類型網絡3:OpenStack中有一些存儲組件

Linux上redis詳細安裝配置過程

修改 server 9.png 結束 pin 附件 service 文件 col 本次介紹下redis的安裝及詳細配置,需要註意的是本地介紹的不是通過yum方式安裝,也不推薦大家使用yum安裝,安裝完了其實啥也不知道. 1,通過rz命令將本地的tar.gz包上傳到linux