博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大数据平台搭建-hadoop集群的搭建
阅读量:4984 次
发布时间:2019-06-12

本文共 7834 字,大约阅读时间需要 26 分钟。

本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容:

  • flink集群的搭建
  • elasticsearch集群的搭建
  • alluxio集群的搭建

本文主要讲解hadoophbase的分布式搭建过程。

版本要求

  • java版本:1.8.0_181
  • zookeeper版本:zookeeper-3.4.10
  • hadoop版本:hadoop-2.7.6
  • hbase版本:hbase-1.2.6.1

前置条件

免密登录

见链接

java安装

见链接

zookeeper安装

见链接

服务器资源和分配

本文服务器列表如下:

192.168.220.200  bigdata1192.168.220.201  bigdata2192.168.220.202  bigdata3192.168.220.203  bigdata4192.168.220.204  bigdata5

其中选用bigdata1bigdata2作为namenode,bigdata3、bigdat4、bigdata5作为dataNode,安装完成后各节点进程名如下:

主机名 ip地址 NameNode ResourceManager DFSZKFailoverController DataNode JournalNode NodeManager
bigdata1 192.168.220.200 Y Y Y N N N
bigdata2 192.168.220.201 Y Y Y N N N
bigdata3 192.168.220.202 N N N Y Y Y
bigdata4 192.168.220.203 N N N Y Y Y
bigdata5 192.168.220.204 N N N Y Y Y

下载解压安装

  • 下载

    从官网选择对应的版本,本文选择版本hadoop-2.7.6.tar.gz

  • 切换至主目录

    cd ~
  • 解压

    tar -zxvf hadoop-2.7.6.tar.gz
  • 重名名

    mv  hadoop-2.7.6  hadoop

配置环境变量

编辑

vi ~/.bash_profile

配置完成后,结果如下:

# .bash_profile

# Get the aliases and functionsif [ -f ~/.bashrc ]; then        . ~/.bashrcfi# User specific environment and startup programsexport JAVA_HOME=/home/oracle/jdkexport SCALA_HOME=/home/oracle/scalaexport KAFKA_HOME=/home/oracle/kafkaexport SPARK_HOME=/home/oracle/sparkexport HADOOP_HOME=/home/oracle/hadoopexport HADOOP_PID_DIR=/home/oracle/hadoop/pidsexport HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="$HADOOP_OPTS-Djava.library.path=$HADOOP_HOME/lib/native" export HADOOP_PREFIX=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HDFS_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native export FLINK_HOME=/home/oracle/flinkexport PATH=$JAVA_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$FLINK_HOME/bin:/sbin:$PATHexport PATH JAVA_HOME SCALA_HOME  KAFKA_HOME SPARK_HOME  HADOOP_HOME  FLINK_HOME

hadoop配置更改

hadoop相关的配置都在$HADOOP_HOME/etc/hadoop目录下,本文中

$HADOOP_HOME=/home/oracle/hadoop

hadoop集群搭建主要涉及如下配置文件的变更

hadoop-env.sh

路径:/home/oracle/hadoop/etc/hadoop/hadoop-env.sh

hadoop-env.sh文件只需要改动JAVA_HOME为具体的路径即可

#export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/home/oracle/jdk

core-site.xml

路径:/home/oracle/hadoop/etc/hadoop/core-site.xml

fs.defaultFS:用于指定NameNode URI
ha.zookeeper.quorum:用于指定zookeeper的地址

fs.defaultFS
hdfs://cluster
hadoop.tmp.dir
/home/oracle/bigdata/hadoop/tmp
ha.zookeeper.quorum
192.168.220.200:2181,192.168.220.200:2181,192.168.220.200:2181
ha.zookeeper.session-timeout.ms
60000

hdfs-site.xml

路径:/home/oracle/hadoop/etc/hadoop/core-site.xml

dfs.nameservices:需要和core-site.xml中的fs.defaultFS保持一致
dfs.ha.namenodes.cluster:用于指定namenodes,逗号分隔,别名可以随便命名,本文中为nn1nn2,需要注意的是下面的rpchttp地址需要和别名保持一致。

dfs.namenode.rpc-address.cluster.nn1dfs.namenode.http-address.cluster.nn1

dfs.namenode.shared.edits.dir: 指定NameNode的元数据在JournalNode上的存放位置

dfs.journalnode.edits.dir:指定JournalNode在本地磁盘存放数据的位置
dfs.namenode.name.dir:指定namenode名称空间的存储地址
dfs.datanode.data.dir:指定namenode名称空间的存储地址

hdfs-site.xml完整配置如下:

dfs.nameservices
cluster
dfs.ha.namenodes.cluster
nn1,nn2
dfs.namenode.rpc-address.cluster.nn1
bigdata1:9000
dfs.namenode.http-address.cluster.nn1
bigdata1:50070
dfs.namenode.rpc-address.cluster.nn2
bigdata2:9000
dfs.namenode.http-address.cluster.nn2
bigdata2:50070
dfs.namenode.shared.edits.dir
qjournal://bigdata3:8485;bigdata4:8485;bigdata5:8485/cluster
dfs.journalnode.edits.dir
/home/oracle/bigdata/hadoop/journal
dfs.ha.automatic-failover.enabled
true
dfs.client.failover.proxy.provider.cluster
org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
dfs.ha.fencing.methods
sshfence
dfs.ha.fencing.ssh.private-key-files
/home/oracle/.ssh/id_rsa
dfs.ha.fencing.ssh.connect-timeout
30000
dfs.namenode.name.dir
file:///home/oracle/bigdata/hadoop/hdfs/name
dfs.datanode.data.dir
file:///home/oracle/bigdata/hadoop/hdfs/data

slaves

路径:/home/oracle/hadoop/etc/hadoop/slaves

slavas配置文件如下:

bigdata3bigdata4bigdata5

mapred-site.xml

路径:/home/oracle/hadoop/etc/hadoop/mapred-site.xml

主要是指定资源调度框架为yarn

mapreduce.framework.name
yarn

yarn-site.xml

路径:/home/oracle/hadoop/etc/hadoop/yarn-site.xml

主要是设定yarn.resourcemanager的主机名。

yarn.resourcemanager.hostname
bigdata1
yarn.nodemanager.aux-services
mapreduce_shuffle

创建文件目录

bigdata1节点上的配置更改完成后,同步到其他节点。

scp -r /home/oracle/hadoop  oracle@bigdata2:/home/oraclescp -r /home/oracle/hadoop  oracle@bigdata3:/home/oraclescp -r /home/oracle/hadoop  oracle@bigdata4:/home/oraclescp -r /home/oracle/hadoop  oracle@bigdata5:/home/oracle

同步完成后,在所有节点(bigdata1-bigdata5)上创建文件目录,主要是配置上对应的文件夹。

mkdir -p /home/oracle/bigdata/hadoop/tmpmkdir -p /home/oracle/bigdata/hadoop/journalmkdir -p /home/oracle/bigdata/hadoop/hdfs/namemkdir -p /home/oracle/bigdata/hadoop/hdfs/data

初始化和启动

由于namenode采用了ha,初始化和单namenode的启动有点不一样,具体过程如下。

启动journalnode

bigdata1上执行,启动journalnode

/home/oracle/hadoop/sbin/hadoop-daemons.sh start journalnode

正常情况下,bigdata3、bigdata4、bigdata5会存在JournalNode的进程。

格式化zookeeper

bigdata1上执行格式化zookeeper

/home/oracle/hadoop/bin/hdfs zkfc -formatZK

正常情况下,zookeeper根目录下会创建hadoop相关的目录。

格式化hadoop

bigdata1上执行格式化hadoop namenode的命令

/home/oracle/hadoop/bin/hadoop namenode -format

主要是在服务器上初始化文件夹目录。

启动namenode

bigdata1上启动namenode

/home/oracle/hadoop/sbin/hadoop-daemon.sh start namenode

正常情况下bigdata1存在NameNode的进程

同步

bigdata2上同步namenode的相关信息并启动

/home/oracle/hadoop/bin/hdfs namenode -bootstrapStandby/home/oracle/hadoop/sbin/hadoop-daemon.sh start namenode

正常情况下bigdata2也存在NameNode的进程

启动datanode和yarn

namenode启动完成后,其他进程的启动可以在bigdata1上分步执行

/home/oracle/hadoop/sbin/hadoop-daemons.sh start datanode/home/oracle/hadoop/sbin/hadoop-daemons.sh start zkfc/home/oracle/hadoop/sbin/start-yarn.sh

同时也可以直接执行,让hadoop脚本自动验证和启动相关进程。

/home/oracle/hadoop/sbin/start-dfs.sh/home/oracle/hadoop/sbin/start-yarn.sh

验证

界面查看

hadoophttp://bigdata1:50070yarn http://bigdata1:8088/cluster

hdfs文件系统

hdfs dfs -ls hdfs://

mapreduce测试

hadoop jar /home/oracle/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar pi 2 5

关于作者

爱编程、爱钻研、爱分享、爱生活
关注分布式、高并发、数据挖掘

转载于:https://www.cnblogs.com/aidodoo/p/7484627.html

你可能感兴趣的文章
使用迭代器优化代码
查看>>
JavaScript 获取随机数
查看>>
线程学习的几个实例
查看>>
dom4j读取XML文件内容
查看>>
Java虚拟机10:Client模式和Server模式的区别
查看>>
Blog搬家吧
查看>>
2017-2018-1 20155306 20155315《信息安全系统设计基础》实验二 固件程序设计
查看>>
自定义连接池
查看>>
MySQL 索引
查看>>
应用程序不能全然结束的原因探秘及调试方法
查看>>
单元文件结构
查看>>
DOM、SAX、DOM4J、JDOM、StAX生成XML并返回XML字符串形式
查看>>
60. Permutation Sequence
查看>>
254. Factor Combinations
查看>>
log日志 和回滚日志
查看>>
Hibernate【性能部分】
查看>>
各种抗锯齿模式略解:SSAA MSAA CSAA CFAA
查看>>
Oracle 11g中修改默认密码过期天数和锁定次数
查看>>
分布式开源调度框架TBSchedule原理与应用
查看>>
css3-无缝滚动左右滚动,且可以暂停
查看>>