一.集群环境搭建
环境准备
(1) 服务器配置
IP | 主机名 | 环境配置 | 安装 |
10.100.100.42 | node01 | 关闭防火墙和selinux,host映射,时钟同步 | JDK,NameNode,ResourceManager,Zookeeper |
10.100.100.43 | node02 | 关闭防火墙和selinux,host映射,时钟同步 | JDK,DataNode,NodeManager,Zookeeper |
10.100.100.44 | node03 | 关闭防火墙和selinux,host映射,时钟同步 | JDK,DataNode,NodeManager,Zookeeper |
(2) 修改主机名与主机名映射
(3) 关闭防火墙和SELinux
(4) SSH免密登录
(5) 时钟同步
(6) 集群机器安装JDK(1.8)
二.Zookeeper集群环境搭建
(1) 集群规划
IP | 主机名 | MyId |
10.100.100.42 | Node01 | 1 |
10.100.100.43 | Node02 | 2 |
10.100.100.44 | Node03 | 3 |
(2) 下载Zookeeper(3.4.9)安装包
(3) 解压文件
(4) 修改配置文件
(5) 创建myid配置文件
(6) 安装包分发到node02 node03
(7) 启动集群中每台机器的zookeeper服务
三.Hadoop集群环境搭建
(1) 集群规划
服务器IP | 10.100.100.42 | 10.100.100.43 | 10.100.100.44 |
主机名 | Node01 | Node02 | Node03 |
NameNode | 是 | 否 | 否 |
SecondaryNameNode | 是 | 否 | 否 |
dataNode | 是 | 是 | 是 |
ResourceManager | 是 | 否 | 否 |
NodeManager | 是 | 是 | 是 |
(2) 安装包下载(Hadoop2.7.5)
(3) 文件上传及解压 详细操作见上面类似的操作
(4) 修改配置文件
<configuration> <!--设置文件类型和主节点--> <property> <name>fs.default.name</name> <value>hdfs://192.168.1.200:8020</value> </property> <!--设置Hadoop临时目录--> <property> <name>hadoop.tmp.dir</name> <value>/export/soft/hadoop-2.7.5/hadoopDatas/tempDatas</value> </property> <!--设置缓冲区大小--> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!--设置hdfs垃圾桶回收机制、主要是清空回收站的时间,单位分钟--> <property> <name>fs.trash.interval</name> <value>10080</value> </property> </configuration> 修改hdfs-site.xml 文件路径 /export/soft/hadoop-2.7.5/etc/hadoop/hdfs-site.xml 修改内容 <configuration> <!-- 配置secondaryNameNode的访问地址 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>node01:50090</value> </property> <!-- 配置nameNode的访问地址 --> <property> <name>dfs.namenode.http-address</name> <value>node01:50070</value> </property> <!-- 配置nameNode存储元数据的位置 --> <property> <name>dfs.namenode.name.dir</name> <value>file:///export/soft/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/soft/hadoop-2.7.5/hadoopDatas/namenodeDatas2</value> </property> <!-- 配置dataNode数据存储的节点位置 --> <property> <name>dfs.datanode.data.dir</name> <value>file:///export/soft/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/soft/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value> </property> <!-- 配置nameNode日志文件存放位置 --> <property> <name>dfs.namenode.edits.dir</name> <value>file:///export/soft/hadoop-2.7.5/hadoopDatas/nn/edits</value> </property> <!-- 配置检查点文件存放位置 --> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///export/soft/hadoop-2.9.2/hadoopDatas/snn/name</value> </property> <!-- --> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///export/soft/hadoop-2.9.2/hadoopDatas/dfs/snn/edits</value> </property> <!-- 单个数据分片文件存放的副本个数 --> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 是否启用权限 --> <property> <name>dfs.permissions</name> <value>false</value> </property> <!-- 单个数据分片大小 128M--> <property> <name>dfs.blocksize</name> <value>134217728</value> </property> </configuration> 修改hadoop-env.sh 主要是修改jdk的路径 /export/soft/jdk1.8.0_144 修改mapred-site.xml 修改内容 <configuration> <!-- 开启MapReduce小任务模式 --> <property> <name>mapreduce.job.ubertask.enable</name> <value>true</value> </property> <!-- 设置历史任务的主机和端口 --> <property> <name>mapreduce.jobhistory.address</name> <value>node01:10020</value> </property> <!-- 设置网页访问历史任务的主机和端口 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node01:19888</value> </property> </configuration>
修改yarn-site.xml,修改内容
<!-- 配置yarn主节点的位置 --> <property> <name>yarn.resourcemananger.hostname</name> <value>node01</value> </property> <!-- --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 开启日志聚合功能 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置聚合日志文件在hdfs上保存的时间,单位为秒 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!-- 设置yarn集群的内存分配方案 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>20480</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property>
export JAVA_HOME=/export/soft/jdk1.8.0_144
修改slaves 改文件主要是配置丛级关系 修改内容如下:Node01 Node02 Node03
mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/tempDatas mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/namenodeDatas mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/namenodeDatas2 mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/datanodeDatas mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/datanodeDatas2 mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/nn/edits mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/snn/name mkdir -p /export/soft/hadoop-2.9.2/hadoopDatas/dfs/snn/edits
scp -r 安装包路径 node02:$PWD
scp -r 安装包路径 node03:$PWD
vi /etc/profile
export HADOOP_HOME=/ export/soft/hadoop-2.9.2
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
cd /export/soft/hadoop-2.7.5/
bin/hdfs/ namenode -format(第一次启动才执行)
sbin/start-dfs.sh Sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver
网页查看hdfs http://node01:50070/explorer.html#/
网页查看yarn集群 http://node01:8088/cluster
网页查看历史完成的任务 http://node01:19888/jobhistory
四.Hbase(hadoop数据库)安装
(1)安装包下载并上传(hbase 2.1.0)
下载路径 http://archive.apache.org/dist/hbase 软件版本 2.1.0
(2)修改hbase-env.sh文件
export JAVA_HOME=/export/soft/jdk1.8.0_144
export HBASE_MANAGES_ZK=false
(3)修改hbase-site.xml文件
<!-- Hbase数据在HDFS中的存放位置 --> <property> <name>hbase.rootdir</name> <value>hdfs://node01:8020/hbase</value> </property> <!-- Hbase运行模式 false 单击模式 true 分布式模式 --> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <!-- ZooKeeper集群地址 --> <property> <name>hbase.zookeeper.quorum</name> <value>node01,node02,node03</value> </property> <!-- ZooKeeper快照数据地址 --> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/export/soft/zookeeper-3.4.9/zkdatas</value> </property> <property> <name>hbase.tmp.dir</name> <value>./tmp</value> </property> <!-- 分布式模式设为false --> <property> <name>hbase.unsafe.stream.capability.enforce</name> <value>false</value> </property>
(4)配置环境变量文件
export HBASE_HOME=/export/soft/hbase-2.4.0
export PATH=:$HBASE_HOME/bin:$HBASE_HOME/sbin:$PATH
(5)拷贝依赖库
cp $HBASE_HOME/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar $HBASE_HOME/lib
(6)修改regionservers文件
(7)安装包分发
scp -r hbase-2.4.0/ node02:$PWD
scp -r hbase-2.4.0/ node03:$PWD
(8)修改node02 node03的环境变量并生效
(9)启动Hbase
首先要保证zookeeper集群和hadoop集群已经启动。然后在主节点上启动Hbase
进入到Hbase的bin目录,执行start-hbase.sh
(10)验证Hbase是否启动成功
(11)Hbase网页界面
Http://10.100.100.42:16010
五.Phoenix(5.0.0)插件安装
(1)文件下载
文件下载地址 Http://phoenix.apache.org/download.html
(2)文件上传并解压 tar -xvf phoenix-hbase-2.4.0-5.1.2-bin.tar.gz -C /export/soft
(3)拷贝Jar包到Hbase目录
cp /export/soft/phoenix-hbase-2.4.0-5.1.2-bin/phoenix-*.jar /export/soft/hbase-2.4.0/lib/
(4)分发Jar包到Hbase的其他节点上
scp phoenix-*.jar node02:$PWD
scp phoenix-*.jar node03:$PWD
(5)修改配置文件
修改hbase的配置文件 cd /export/soft/hbase-2.4.0/conf/ 修改hbase-site.xml文件 <!-- 支持HBase命名空间映射 --> <property> <name>phoenix.schema.isNamespaceMappingEnabled</name> <value>true</value> </property> <!-- 支持索引日志预写编码 --> <property> <name>hbase.regionserver.wal.codec</name> <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value> </property>
(6)分发配置文件
scp hbase-site.xml node02:$PWD
scp hbase-site.xml node03:$PWD
(7)拷贝配置文件到phoenix目录中
cp hbase-site.xml /export/soft/phoenix-hbase-2.4.0-5.1.2-bin/bin/
(8)重启Hbase服务
新集群 zookeeper3.4.9 hadoop2.7.5 hbase 2.1.0 phoenix (5.0.0-Hbase2.0)
检查hadoop2.7.5对本地库的支持
Bin/hadoop/ checknative SpringBoot 整合Hadoop
客户端在windows环境下需要hadoop.dll
上述新集群