文章目录
- 大数据平台安装部署
- 准备
- 服务器规划
- 软件安装版本
- `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
免密登录
ssh-keygen -t rsa #用 rsa生成密钥,一路回车
cd ~/.ssh #进到当前用户的隐藏目录(.ssh)
cp id_rsa.pub authorized_keys #把公钥复制一份,并改名为 authorized_keys,这步执行完后,在当前机器执行 ssh localhost可以无密码登录本机了
初次执行会提示确认,输入 yes和登陆密码,之后就没提示了 。
后续如果做集群,可以scp authorized_keys root@第二台机器名 :/root/.ssh (把重命名后的公钥通过 ssh提供的远程复制文件复制到从机 )这样子节点启动也不需要再次输入密码。
jdk安装
三台服务器可同步进行
- 解压jdk安装包至
/opt/
目录下 - 配置
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
- 检查 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.dir
、dfs.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安装
- 下载spark安装包,解压到 hadoopCdh3-sim 服务器
/opt/
目录下,规划hadoopCdh3-sim为主节点 - 配置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 spark
和iobjects 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/
- superMap修复了Geomesa文件中对HBase数据中文字段的使用问题,并将修复结果以新的geomesa-hbase-distributed-runtime_2.11-2.2.0-sm_200828.jar文件形式提供,该文件位于产品包的support目录下,如果您使用的HBase数据具有中文字段,请使用我们提供的Geomesa文件进行安装 ↩︎