文章目录
大数据平台安装部署
准备
服务器规划
计划三台
linux服务器搭建集群模式,服务器版本centos7IP 主机名 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/profileexport 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/profileexport 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/profileexport 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.cfgtickTime=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
- 复制zoo_sample.cfg并重命名为zoo.cfg:
创建数据存放目录
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
- 修改JAVA_HOME路径:
编辑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/profileexport 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文件进行安装 ↩︎