一、首先创建三台空的虚拟机,在此基础上搭建分布式集群
IPhostname192.168.23.130hadoop01192.168.23.131hadoop02192.168.23.132hadoop03
二、准备安装包版本
jdk-1.8zookeeper-3.8.1hadoop-3.2.4hbase-2.4.15phoenix-2.4.0-5.1.3
三、服务器环境准备(三个节点都要进行)
1、关闭防火墙
# 临时关闭防火墙
systemctl stop firewalld
# 永久关闭防火墙
systemctl disable firewalld
2、设置主机名
# 三个节点名称分别是hadoop01、hadoop02、hadoop03
hostnamectl set-hostname hadoop01
3、配置主机hosts
vim /etc/hosts
# 添加如下内容
192.168.23.130 hadoop01
192.168.23.131 hadoop02
192.168.23.132 hadoop03
4、设置ssh免密登录
# 所有节点都需要执行,连续按三次回车,在.ssh目录下生成id_rsa和id_rsa.pub
ssh-keygen
# 分发密钥,所有节点都需要执行三次,仅需要修改机器名称
ssh-copy-id hadoop01
四、安装JDK
# 解压tar包
tar -zxvf jdk-8u291-linux-x64.tar.gz
# 移动解压后得包到/opt/java目录下
mv jdk1.8.0_291 /opt/java
分发JDK安装包到其他节点
cd /opt
# 分发java包到其他节点
scp -r java hadoop02:$PWD
配置JDK环境变量(所有节点都需要执行)
# 在 /etc/profile 文件末尾加上JDK环境变量
vim /etc/profile
# 内容如下
export JAVA_HOME=/opt/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.har:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
# 加载环境变量使其生效
source /etc/profile
# 测试环境变量是否生效
java -version
五、安装zookeeper
# 解压zookeeper包
tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
# 移动解压后得包到/opt/zookeeper目录下
mv apache-zookeeper-3.8.1-bin /opt/zookeeper
修改zookeeper配置
# 进入zookeeper包
cd /opt/zookeeper
# 复制zoo_sample.cfg模板配置文件
cp zoo_sample.cfg zoo.cfg
# 修改配置文件
vim zoo.cfg
# 修改内容如下
dataDir=/opt/zookeeper/data
添加zookeeper集群信息,在zoo.cfg末尾添加对应集群节点信息
server.1=hadoop01:2555:3555
server.2=hadoop02:2555:3555
server.3=hadoop03:2555:3555
添加zookeeper数据目录并创建节点ID对应集群节点信息
# 创建data目录
mkdir /opt/zookeeper/data
# 在/opt/zookeeper/data创建myid文件
cd /opt/zookeeper/data
# 修改节点ID
vim myid
# 内容如下(三个节点得内容分别是1,2,3)
1
分发zookeeper文件到其他节点。
cd /opt
scp -r zookeeper hadoop02:$PWD
注意:文件分发完后需要到每个节点将myid中得内容改成对应节点得ID,一定不能漏改和改错,否则zookeeper启动将会失败
启动zookeeper(所有节点均需执行)
# 进入zookeeper的bin目录
cd /opt/zookeeper/bin
# 启动zookeeper
./zkServer.sh start
# 查看zookeeper状态
./zkServer.sh status
使用JPS查看zookeeper进行,zookeeper的进程名称为QuorumPeerMain
六、安装hadoop
部署hadoop集群,NameNode和SecondaryNameNode不要安装在一台机器上面。ResourceManager也很消耗内存,所以不要和NameNode和SecondaryNameNode配置到同一台机器上面。
按照如下表格进行配置(后面通过JPS检查集群是就根据这个表格来进行检查)
hadoop01hadoop02hadoop03HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNodeYARNNodeManagerResourceManager NodeManagerNodeManager
# 解压hadoop包
tar -zxvf hadoop-3.2.4.tar.gz
# 移动解压后得包到/opt/hadoop目录下
mv hadoop-3.2.4 /opt/hadoop
(1)修改hadoop-env.sh配置
# 进入hadoop配置目录
cd /opt/hadoop/etc/hadoop
# 修改hadoop-env.sh
vim hadoop-env.sh
# 修改内容如下
export JAVA_HOME=/opt/java
export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
# 加载配置
source hadoop-env.sh
(2)修改core-site.xml配置
vim core-site.xml
将core-site.xml中的配置文件修改成如下内容
(3)修改hdfs-site.xml配置
vim hdfs-site.xml
将hdfs-site.xml中的配置文件修改成如下内容
(4)修改mapred-site.xml配置
vim mapred-site.xml
将mapred-site.xml中的配置文件修改成如下内容
(5)修改yarn-site.xml配置
vim yarn-site.xml
将yarn-site.xml中的配置文件修改成如下内容
(6)编辑workers
vim workers
# 修改成如下内容
hadoop01
hadoop02
hadoop03
分发配置后的hadoop包到其他节点
cd /opt
# 分发安装包
scp -r hadoop hadoop02:$PWD
配置hadoop环境变量(所有节点均需执行)
# 在 /etc/profile 文件末尾加上hadoop环境变量
vim /etc/profile
# 内容如下
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# 加载环境变量使其生效
source /etc/profile
# 测试环境变量是否生效
hadoop version
启动hadoop集群
# 在hadoop01初始化hadoop集群
hdfs namenode -format
# 在hadoop01节点启动HDFS
start-dfs.sh
# 在hadoop02节点启动YARN
start-yarn.sh
验证hadoop集群是否配置成功
web页面访问 查看HDFS的namenode:http://192.168.23.130:9870 查看 YARN 的 ResourceManager:http://192.168.23.131:8088 JPS查看 使用JPS查看各个节点的进程状态是否跟前面规划的表格中的进程名称一致
七、安装HBase
# 解压hbase包
tar -zxvf hbase-2.4.15-bin.tar.gz
# 移动解压后得包到/opt/hbase目录下
mv hbase-2.4.15-bin /opt/hbase
(1)修改hbase-env.sh配置
cd /opt/hbase/conf
# 修改hbase-env.sh
vim hbase-env.sh
# 修改内容如下
export JAVA_HOME=/opt/java
export HBASE_MANAGES_ZK=false
(2)修改hbase-site.xml配置
vim hbase-site.xml
将hbase-site.xml中的配置文件修改成如下内容
(3)配置regionservers
vim regionservers
# 内容如下
hadoop01
hadoop02
hadoop03
复制jar包到lib
cp /opt/hbase/lib/client-facing-thirdparty/htrace-core4-4.2.0-incubating.jar /opt/hbase/lib/
分发配置后的hbase包到其他节点
cd /opt
# 分发安装包
scp -r hbase hadoop02:$PWD
配置HBase环境变量(所有节点均需执行)
# 在 /etc/profile 文件末尾加上hbase环境变量
vim /etc/profile
# 内容如下
export HBASE_HOME=/opt/hbase
export PATH=$PATH:${HBASE_HOME}/bin:${HBASE_HOME}/sbin
# 加载环境变量使其生效
source /etc/profile
# 测试环境变量是否生效
hbase version
启动HBase
start-hbase.sh
验证HBase集群是否配置成功
web页面访问 http://192.168.23.131:16010 JPS查看 使用JPS查看hadoop01是否存在HMaster、HRegionServer进程名称 查看其他节点是否存在HRegionServer进程名称
八、安装phoenix
# 解压phoenix包
tar -zxvf phoenix-hbase-2.4.0-5.1.3-bin.tar.gz
# 移动解压后得包到/opt/phoenix目录下
mv phoenix-hbase-2.4.0-5.1.3-bin /opt/phoenix
拷贝jar包到 /opt/hbase/lib目录
cp /opt/phoenix/phoenix-server-hbase-2.4.0-5.1.3.jar /opt/hbase/lib/
将jar分发到其他节点
scp /opt/phoenix/phoenix-server-hbase-2.4.0-5.1.3.jar hadoop02:/opt/hbase/lib/
修改hbase-site.xml配置(在原配置文件中的configuration中添加配置,不要覆盖之前的配置)
cd /opt/hbase/conf
vim hbase-site.xml
添加的内容如下
拷贝hbase-site.xml到phoenix中
cp /opt/hbase/conf/hbase-site.xml /opt/phoenix/bin/
将hbase-site.xml分发到其他节点
cd /opt/hbase/conf
scp hbase-site.xml haoop02:$PWD
重启HBase
# 关闭hbase
stop-hbase.sh
# 启动hbase
start-hbase.sh
验证phoenix是否安装成功
cd /opt/phoenix/bin
# 启动phoenix客户端(首次启动加载时间会比较长,加载过程中不要强制退出)
./sqlline.py hadoop01:2181
成功进入phoenix客户端后可以查看phoenix中的所有表
# 查看所有表
!table
好文阅读
发表评论