文章目录

  • 大数据平台安装部署
  • 准备
  • 服务器规划
  • 软件安装版本
  • `ssh`免密登录配置
  • 绑定ip和修改计算机名
  • 配置ssh服务
  • 配置`ssh`免密登录
  • jdk安装
  • hadoop部署
  • 配置hadoop
  • hadoop集群搭建
  • hadoop启动
  • hadoop集群检查
  • spark部署
  • spark安装
  • 配置spark
  • 配置spark集群
  • spark启动
  • spark集群检查
  • zookeeper部署
  • 配置zookeeper集群
  • zookeeper启动
  • hbase部署
  • 配置hbase集群
  • hbase启动
  • hbase集群检查
  • superMap iObjects for Spark & iserver 部署
  • iobjects for Spark 安装
  • iserver 安装
  • iObjects for Spark 配置
  • 安装所缺依赖
  • 安装许可
  • 启动iserver


大数据平台安装部署

准备

服务器规划

  • 计划三台linux服务器搭建集群模式,服务器版本centos7

IP

主机名

10.215.142.185

hadoopCdh3-sim

10.215.142.186

hadoopCdh4-sim

10.215.142.187

hadoopCdh5-sim

软件安装版本

  • jdk-8u271-linux-x64.tar.gz
  • hadoop-2.7.6.tar.gz
  • spark_2.3.2.zip
  • zookeeper-3.4.10.tar.gz
  • hbase-1.3.1-bin.tar.gz
  • supermap-iobjectsjava-10.1.2-19530-86195-linux64-all-Bin.tar.gz
  • supermap-iobjects-for-spark-10.1.2-20210331.zip
  • supermap-iserver-10.1.2a-linux64.tar.gz

ssh免密登录配置

绑定ip和修改计算机名

  • 修改 /etc/hosts,添加 IP绑定注释 127.0.1.1绑定( 不注释 会影响 hadoop集群)
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
# 127.0.0.1 centos1

10.215.142.185  hadoopCdh3-sim hadoopCdh3-sim
10.215.142.186  hadoopCdh4-sim hadoopCdh4-sim
10.215.142.187  hadoopCdh5-sim hadoopCdh5-sim
  • 修改 /etc/hostname,为 绑定 计算机名 。 计算机名和上面 hosts绑定名必须一致

配置ssh服务

  • 修改 /etc/ssh/sshd_config文件,将以下 三 项开启 yes状态
PermitRootLogin yes
PermitEmptyPasswords yes
PasswordAuthentication yes
  • 重启ssh服务,这样root用户可直接登陆,以及为后续 ssh无密码 登录 做准备
service ssh restart

配置ssh免密登录

  1. ssh-keygen -t rsa #用 rsa生成密钥,一路回车
  2. cd ~/.ssh #进到当前用户的隐藏目录(.ssh)
  3. cp id_rsa.pub authorized_keys #把公钥复制一份,并改名为 authorized_keys,这步执行完后,在当前机器执行 ssh localhost可以无密码登录本机了初次执行会提示确认,输入 yes和登陆密码,之后就没提示了 。
    后续如果做集群,可以scp authorized_keys root@第二台机器名 :/root/.ssh (把重命名后的公钥通过 ssh提供的远程复制文件复制到从机 )这样子节点启动也不需要再次输入密码。

jdk安装

三台服务器可同步进行

  1. 解压jdk安装包至/opt/目录下
  2. 配置jdk环境变量至/etc/profile
export JAVA_HOME=/opt/jdk
export JRE_HOME=/opt/jdk/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
  1. 检查 JDK是否配置好
[root@hadoopCdh3-sim ~]# source /etc/profile
[root@hadoopCdh3-sim ~]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

hadoop部署

下载hadoop安装包,解压至 hadoopCdh3-sim 服务器 /opt/目录下,规划hadoopCdh3-sim为主节点

配置hadoop

进入/opt/hadoop-2.7.6/etc/hadoop目录,编辑hadoop配置文件

  • 编辑 hadoop-env.sh文件,修改 JAVA_HOME配置 项为 JDK安装目录
export JAVA_HOME=/opt/jdk
  • 编辑 core-site.xml文件,添加以下内容,其中hadoopCdh3-sim为计算机名,hadoop.tmp.dir根据服务器磁盘环境自主配置
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoopCdh3-sim:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/data/dfs/tmp</value>
        <description>Abasefor other temporary directories.</description>
    </property>
    <property>
        <name>hadoop.proxyuser.spark.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.spark.groups</name>
        <value>*</value>
    </property>
</configuration>
  • 编辑 hdfs-site.xml文件 ,添加以下内容,其中hadoopCdh3-sim为计算机名,dfs.namenode.name.dirdfs.datanode.data.dir根据服务器磁盘环境自主配置
<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoopCdh3-sim:9001</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/data/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/data/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>
  • 编辑 mapred-site.xml文件,添加以下内容,其中hadoopCdh3-sim为计算机名
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoopCdh3-sim:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoopCdh3-sim:19888</value>
    </property>
</configuration>
  • 编辑 yarn-site.xml文件,添加以下内容,其中hadoopCdh3-sim为计算机名
<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>hadoopCdh3-sim:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>hadoopCdh3-sim:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>hadoopCdh3-sim:8035</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>hadoopCdh3-sim:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>hadoopCdh3-sim:8088</value>
    </property>
</configuration>
  • 修改 slaves文件,添加集群节点 (多机添加多个)
hadoopCdh3-sim
hadoopCdh4-sim
hadoopCdh5-sim

hadoop集群搭建

  • 将hadoop安装目录,同步至另外两台服务器,无需另外配置
[root@hadoopCdh3-sim ~]# cd /opt
[root@hadoopCdh3-sim opt]# scp -r hadoop-2.7.6/ hadoopCdh4-sim:`pwd`
[root@hadoopCdh3-sim opt]# scp -r hadoop-2.7.6/ hadoopCdh5-sim:`pwd`
  • hadoop环境变量配置(可以不配置,需要执行相关命令时直接进入命令所在目录或命令全路径),编辑/etc/profile
export HADOOP_HOME=/opt/hadoop-2.7.6
PATH=$PATH:$HADOOP_HOME/bin

hadoop启动

  • 初次启动需要格式化一个新的文件系统,之后不再需要此过程,,进入到 hadoop-2.7.6/bin下执行:
./hadoop namenode -format
  • 启动 hadoop,进入到 hadoop-2.7.6/sbin下执行:./start-all.sh单节点启动,可查阅相关资料

hadoop集群检查

  • 可执行hdfs检查命令:hdfs dfsadmin -report
  • 访问hdfs端口:50070,http://hadoopcdh3-sim:50070/dfshealth.html#tab-overview
  • 访问yarn端口:8088,http://hadoopcdh3-sim:8088/cluster

spark部署

spark安装

  1. 下载spark安装包,解压到 hadoopCdh3-sim 服务器 /opt/目录下,规划hadoopCdh3-sim为主节点
  2. 配置spark环境变量至/etc/profile
export SPARK_HOME=/opt/spark
PATH=$SPARK_HOME/bin:$PATH

配置spark

进入/opt/spark/conf目录,编辑spark配置文件

  • 编辑spark-env.sh文件
  • 复制spark-env.sh.template并重命名为 spark-env.sh:cp spark-env.sh.template spark-env.sh
  • 编辑spark-env.sh文件,添加以下内容
export JAVA_HOME=/opt/jdk
export JRE_HOME=${JAVA_HOME}/jre
export SPARK_MASTER_IP=10.215.142.185
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_EXECUTOR_MEMORY=4g
export HADOOP_HOME=/opt/hadoop-2.7.6/
export HADOOP_CONF_DIR=/opt/hadoop-2.7.6/etc/hadoop
export LD_LIBRARY_PATH==$LD_LIBRARY_PATH:/opt/jdk/jre/lib/amd64
  • 编辑 slaves文件,增加当前计算机名
  • 复制slaves.template并重命名为 slaves:cp slaves.template slaves
  • 编辑slaves文件,添加以下内容 (多机添加多个)
hadoopCdh3-sim
hadoopCdh4-sim
hadoopCdh5-sim

配置spark集群

  • 将spark安装目录同步至其余两台服务器即可

spark启动

  • 启动spark,进入/opt/spark/sbin目录,执行./start-all.sh

spark集群检查

  • 访问spark集群,主节点端口:8080,http://hadoopcdh3-sim:8080/

zookeeper部署

下载解压zookeeper安装包至hadoopCdh3-sim服务器/opt/目录

配置zookeeper集群

进入hadoopCdh3-sim服务器/opt/zookeeper-3.4.10/conf目录下

  • 编辑zoo.cfg文件
  • 复制zoo_sample.cfg并重命名为zoo.cfg:cp zoo_sample.cfg.template zoo.cfg
  • 编辑zoo.cfg文件,vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=/opt/zookeeper-3.4.10/data  # 数据存放目录
dataLogDir=/opt/zookeeper-3.4.10/logs # 日志存放目录
server.1=hadoopCdh3-sim:2888:3888  # server.id= 主机名:心跳端口:选举端口   id范围1-255,对应 myid 文件
server.2=hadoopCdh4-sim:2888:3888
server.3=hadoopCdh5-sim:2888:3888
  • 创建数据存放目录mkdir /opt/zookeeper-3.4.10/data
  • 同步zookeeper安装目录至其他两台服务器
  • 各节点进入/opt/zookeeper-3.4.10/data目录,创建myid文件,对应zoo.cfg中配置server.id
# hadoopCdh3-sim服务器
[root@hadoopCdh3-sim ~]# cd /opt/zookeeper-3.4.10/data
[root@hadoopCdh3-sim data]# echo 1 > myid

# hadoopCdh4-sim服务器
[root@hadoopCdh4-sim ~]# cd /opt/zookeeper-3.4.10/data
[root@hadoopCdh4-sim data]# echo 2 > myid

# hadoopCdh5-sim服务器
[root@hadoopCdh5-sim ~]# cd /opt/zookeeper-3.4.10/data
[root@hadoopCdh5-sim data]# echo 3 > myid

zookeeper启动

  • zookeeper服务只能单节点依次启动,无法一键启动所有节点服务
./zkServer.sh start

hbase部署

下载解压hbase安装包至hadoopCdh3-sim服务器/opt/目录

配置hbase集群

进入hadoopCdh3-sim服务器/opt/hbase-1.3.1/conf目录下

  • 编辑hbase-env.sh启动环境
  • 修改JAVA_HOME路径:export JAVA_HOME=/opt/jdk
  • 修改HBASE_MANAGES_ZK为false(不使用自带zookeeper):export HBASE_MANAGES_ZK=false
  • 编辑hbase-site.xml文件
<configuration>
    <property>
        <name>hbase.tmp.dir</name>
        <value>/opt/hbase-1.3.1/tmp</value>
    </property>
    <property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoopCdh3-sim:9000/hbase</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoopCdh3-sim,hadoopCdh4-sim,hadoopCdh5-sim</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/opt/zookeeper-3.4.10/data</value>
    </property>
    <property>
        <name>hbase.master.info.port</name>
        <value>16010</value>
    </property>
</configuration>
  • 编辑regionservers文件
hadoopCdh3-sim
hadoopCdh4-sim
hadoopCdh5-sim
  • 将hadoop的hdfs-site.xml 和 core-site.xml 放在hbase的conf目录下
  • 将hadoopCdh3-sim服务器/opt/hbase-1.3.1/conf目录同步至其他服务器

hbase启动

  • 执行集群任一节点/opt/hbase-1.3.1/bin目录下start-hbase.sh

hbase集群检查

  • 访问16010端口,http://hadoopcdh3-sim:16010/master-status

superMap iObjects for Spark & iserver 部署

进入hadoopCdh3-sim 服务器

iobjects for Spark 安装

  • 下载解压supermap-iobjectsjava-10.1.2-19530-86195-linux64-all-Bin.tar.gz 安装包,并将解压文件目录Bin命名为iobjects_new,然后将目录放到 /opt/目录下
[root@hadoopCdh3-sim ~]# tar -zxvf supermap-iobjectsjava-10.1.2-19530-86195-linux64-all-Bin.tar.gz
[root@hadoopCdh3-sim ~]# mv Bin /opt/iobjects_new
  • 下载解压supermap-iobjects-for-spark-10.1.2-20210331.zip 安装包,并将解压文件目录Bin命名为iobjects_spark,然后将目录放到/opt/目录下
[root@hadoopCdh3-sim ~]# unzip supermap-iobjects-for-spark-10.1.2-20210331.zip -d ./iobjects_spark
[root@hadoopCdh3-sim ~]# mv ./iobjects_spark /opt/

iserver 安装

  • 下载解压tar -zxvf supermap-iserver-10.1.2a-linux64.tar.gz 安装包,然后将目录放到 /opt/目录下
[root@hadoopCdh3-sim ~]# tar -zxvf supermap-iserver-10.1.2a-linux64.tar.gz
[root@hadoopCdh3-sim ~]# mv ./supermap-iserver-10.1.2a-linux64 /opt/

iObjects for Spark 配置

  • 配置for sparkiobjects java 环境变量到/etc/profile中,然后 source /etc/profile
export SUPERMAP_OBJ=/opt/iobjects_new
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SUPERMAP_OBJ
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/opt/iobjects_spark/lib
  • 进入 spark/conf编辑spark-env.sh文件, 总配置如下
export JAVA_HOME=/opt/jdk
export JRE_HOME=${JAVA_HOME}/jre
export SPARK_MASTER_IP=10.215.142.185
export SPARK_WORKER_MEMORY=8g
export SPARK_WORKER_CORES=4
export SPARK_EXECUTOR_MEMORY=4g
export HADOOP_HOME=/opt/hadoop-2.7.6/
export HADOOP_CONF_DIR=/opt/hadoop-2.7.6/etc/hadoop
# export LD_LIBRARY_PATH==$LD_LIBRARY_PATH:/opt/jdk/jre/lib/amd64
# 下面两行为新增,$LD_LIBRARY_PATH 重新export
export SUPERMAP_OBJ=/opt/iobjects_new
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SUPERMAP_OBJ:/opt/jdk/jre/lib/amd64*
  • 配置hbase
  • 当需要使用HBase数据库进行分布式分析或免切片出图时,还需要进行HBase数据库和Geomesa协处理器的配置
  • Geomesa协处理器推荐使用geomesa-hbase-distributed-runtime_2.11-2.2.0.jar版本1
  • 编辑hbase-site.xml文件
<!--hbase.rootdir没有该配置的话新增-->
	<property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoopCdh3-sim:9000/hbase</value>
    </property>
	<!--hbase.coprocessor.user.region.classes配置使用org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor-->
    <property>
        <name>hbase.coprocessor.user.region.classes</name>
        <value>org.locationtech.geomesa.hbase.coprocessor.GeoMesaCoprocessor
        </value>
    </property>
  • 将协处理器文件配置到hdfs://hadoopCdh3-sim:9000/hbase/lib目录下,使用时会默认查找$hbase.rootdir /lib目录下的协处理器文件。
[root@hadoopCdh3-sim support]# hdfs dfs -put geomesa-hbase-distributed-runtime_2.11-2.2.0.jar hdfs://hadoopCdh3-sim:9000/hbase/lib/
  • 同步配置文件至其他两台服务器
# /etc/profile
[root@hadoopCdh3-sim ~]# scp /etc/profile root@hadoopCdh4-sim:/etc/profile
[root@hadoopCdh3-sim ~]# scp /etc/profile root@hadoopCdh5-sim:/etc/profile

# /opt/spark/conf/spark-env.sh
[root@hadoopCdh3-sim ~]# scp /opt/spark/conf/spark-env.sh root@hadoopCdh4-sim:/opt/spark/conf/spark-env.sh
[root@hadoopCdh3-sim ~]# scp /opt/spark/conf/spark-env.sh root@hadoopCdh5-sim:/opt/spark/conf/spark-env.sh

# /opt/hbase-1.3.1/conf/hbase-site.xml
[root@hadoopCdh3-sim ~]# scp /opt/hbase-1.3.1/conf/hbase-site.xml root@hadoopCdh4-sim:/opt/hbase-1.3.1/conf/hbase-site.xml
[root@hadoopCdh3-sim ~]# scp /opt/hbase-1.3.1/conf/hbase-site.xml root@hadoopCdh5-sim:/opt/hbase-1.3.1/conf/hbase-site.xml
  • 分发/opt/iobjects_new//opt/iobjects_spark//opt/supermap-iserver-10.1.2a-linux64/至其他两台服务器
  • 重启spark服务
  • 重启hbase服务

安装所缺依赖

进入iserve安装目录

[root@hadoopCdh3-sim support]# cd /opt/supermap-iserver-10.1.2a-linux64/support
[root@hadoopCdh3-sim support]# ./dependencies_check_and_install.sh install -y

其余两台服务器也分别执行此过程

安装许可

进入support/SuperMap_License/Support/aksusbd-2.4.1-i386,执行许可安装./dinst

其余两台服务器也分别执行此过程

启动iserver

进入hadoopCdh3-sim 服务器/opt/supermap-iserver-10.1.2a-linux64/bin目录,执行启动脚本:./startup.sh

查看8090端口ui界面:http://hadoopcdh3-sim:8090/iserver/


  1. superMap修复了Geomesa文件中对HBase数据中文字段的使用问题,并将修复结果以新的geomesa-hbase-distributed-runtime_2.11-2.2.0-sm_200828.jar文件形式提供,该文件位于产品包的support目录下,如果您使用的HBase数据具有中文字段,请使用我们提供的Geomesa文件进行安装 ↩︎