其他分享
首页 > 其他分享> > Hadoop集群+Hbase集群搭建

Hadoop集群+Hbase集群搭建

作者:互联网

想部署hadoop集群和hbase的集群,我的方式是建议先在一台虚拟机上面部署hadoop伪分布+hbase伪分布,再以这台虚拟机生成克隆,防止出现难以解决的问题,备份一台,给自己必须留一手!!!!
进行hadoop的集群时每各节点已经部署hadoop的伪分布,所以jdk和hadoop都已经安装。

软件:VMware Workstation
操作系统:linux+ubuntu服务器

Hadoop集群部署

集群规划   
      
主节点:Master
从节点:slave1  、slave2
Ip:     Master:192.168.1.113       slave1:192.168.1.114     slave2:192.168.1.116

部署条件:Master已经有了部署hadoop+hbase伪分布。

1.修改主机名+主机ip

1: sudo gedit /etc/hostname

修改hostname为Master
在这里插入图片描述

2: sudo gedit /etc/hosts

添加Master 和slave1 slave2节点的IP地址   默认本地地址不用管(127.0.0.1)
(查看ip地址方法:  ifconfig  )

在这里插入图片描述

********三台虚拟机上都要这样配置 ,同时重启虚拟机才能使命令生效*************
2.查看节点相互之间是否能够ping通:
分别在master 、slave1、slave2上相互使用ping命令 
Master上:ping  Master -c  3
          ping  slave1 -c   3
ping  slave2 -c   3

slave1上:ping  Master -c  3
          ping  slave1 -c   3
ping  slave2 -c   3


slave2上:ping  Master -c  3
          ping  slave1 -c   3
ping  slave2 -c   3
因为ping了3次,所以记录数received必须是3

在这里插入图片描述

3.设置免密登录:
sudo apt-get install openssh-server

在这里插入图片描述
安装后,使用ssh localhost登录本机:
在这里插入图片描述

生成秘钥:
1.exit # 退出刚才的 ssh localhost
2.cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
3.ssh-keygen -t rsa # 会有提示,都按回车就可以
4.cat ./id_rsa.pub >> ./authorized_keys # 加入授权

在这里插入图片描述
在用ssh localhost命令直接登录:
在这里插入图片描述

在Master上复制authorized_keys到slave1 、slave2
scp authorized_keys slave1:/home/hadoop/.ssh/
scp authorized_keys slave2:/home/hadoop/.ssh/

如果提示要输入密码,就输入hadoop用户密码

5.修改环境变量:cd ~ (可以把我的全部抄上,只要你的安装路径和我的一样)

sudo gedit ~/.bashrc
xport JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin:/usr/local/hbase/bin

在这里插入图片描述

source  ~/.bashrc  使命令生效

6.修改配置文件

进入cd /usr/local/hadoop/etc/ahdoop
ls  查看配置文件

在这里插入图片描述

1.修改 core-site.xml

sudo gedit core-site.xml

在这里插入图片描述

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>

2.修改 hdfs-site.xml

<configuration>
         <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

4.修改mapred-site.xml

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>

5.修改slaves:
添加
slave1
slave2

在这里插入图片描述

6.修改 yarn-site.xml

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

7.修改 hadoop-env.sh
添加自己jdk地址
(这是我的jdk地址 jdk1.8.0_162是jdk版本 )

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162

7.将Master主节点下的hadoop用户压缩用复制拷贝到
slave1,slave2

Master 节点:
 cd  /usr/local
 sudo rm -r ./hadoop/tmp     #删除hbase临时文件
 sudo rm -r ./hadoop/logs/*   #删除日志文件
 tar -zcf ~/hadoop.master.tar.gz  ./hadoop  #先压缩再复制
slave1  slave2节点上:
sudo rm -r  /usr/local/hadoop               #如果有删除旧的
sudo tar -zxcf  ~/hadoop.master.tar.gz  -C /usr/local
sudo chown -R hadoop /usr/local/hadoop      添加权限 

8.在Master进行初始化 hdfs namenode -format

在这里插入图片描述
看到这个就表示成功.

9.Master 上 start-all.sh 启动所有节点

jps  分别在Master .slave1.slave2 查看节点

Master:
在这里插入图片描述
slave1:
在这里插入图片描述
slave2:
在这里插入图片描述
stop-all.sh 关闭所有节点

至此hadoop集群首先部署好了!!!

接下来进行hbase集群的部署:
Hbase集群必须要有zookeeper,暂且有两种方式,一种是使用hbase自带的zookeeper,一种是首先安装配置zookeeper的集群,为了简单的学习,这里使用hbase自带的zookeeper,进行hbase集群的简单配置。

使用的hbase自带的zookeeper***

已经安装hbase伪分布;

配置环境变量:
cd ~
sudo gedit ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin:/usr/local/hbase/bin
(目录一样可以照抄)

在这里插入图片描述

1.配置 hbase-env.sh

进入 hbase目录:
cd  /usr/local/hbase/conf
sudo  gedit  hbase-site.sh
(true表示使用hbase自带的zookeeper)

在这里插入图片描述

export JAVA_HOME=/export/servers/jdk
指定jdk的目录

2.配置 hbase-site.xml

 sudo gedit hbase-site.xml

在这里插入图片描述

<configuration>
       <property>
               <name>hbase.rootdir</name>
               <value>hdfs://Master:9000/hbase</value>
       </property>
       <property>
               <name>hbase.cluster.distributed</name>
               <value>true</value>
       </property>
 <!-- ZooKeeper的地址 -->
   	<property>
   	 	<name>hbase.zookeeper.quorum</name>
    		<value>Master,slave1,slave2</value>
    	</property>
</configuration>

解释:hbase.rootdir: hbase存放数据目录 (注意与core-site.xml中fs.defaultFS的配置对应,只要是端口号) hbase.cluster.distributed:是否分布式 hbase.zookeeper.quorum:zookeeper集群

3.regionservers
slave1
slave2

在这里插入图片描述

看个人习惯:
(1):在Master slave1 slave2 都进行这样的位置(比较麻烦)
(2)在Master上将配置好的hbase文件直接传到其他用户
为保险起见,这里先进行了压缩:

压缩传送:
Master 节点:
 cd  /usr/local
 sudo rm -r ./hbase/tmp     #删除hbase临时文件
 sudo rm -r ./hbase/logs/*   #删除日志文件
 tar -zcf ~/hbase.master.tar.gz  ./hbase  #先压缩再复制
slave1  slave2节点上:
sudo rm -r  /usr/local/hbase               #如果有删除旧的
sudo tar -zxcf  ~/hbase.master.tar.gz  -C /usr/local
sudo chown -R hadoop /usr/local/hbase      添加权限  

Master节点上压缩传输到slave节点上的压缩包直接是可以看的,可以看是不是有这个文件,传输成功了再在slave节点上进行后面的操作。
(hadoop.master.tar.gz 压缩文件)
(hadoop.master.tar.gz 压缩文件)

4.验证:
启动hbase首先要启动hadoop集群

在Master上 start-all.sh 启动所有hadoop集群的节点
在这里插入图片描述
输入jps查看hadoop是否启动成功:
Master:
在这里插入图片描述
slave1:
在这里插入图片描述
slave2:
在这里插入图片描述

Hadoop集群节点启动成功后,在Master上进入hbase文件目录:

cd  /usr/local/hbase
start-hbase.sh

在这里插入图片描述

启动后,再输入jps查看节点:
Master:
在这里插入图片描述
slave1:
在这里插入图片描述
slave2:
在这里插入图片描述

*******hadoop和hbase节点缺一不可!!!!!************

输入hbse shell进入hbase:
hbase shell

在这里插入图片描述

输入status查看集群状态:

在这里插入图片描述
(可以看到1台Master节点,2个server节点)

hbase页面:http://192.168.32.128:16010
192.168.32.128 是自己Master的IP地址:
在这里插入图片描述

停止hbase节点:stop-hbase.sh
先停止hbase再停止hadoop
停止所有节点:stop-all.sh

至此hadoop+hbase部署成功!!!!
芜湖,起飞!!!!!!!!!!!!

标签:Hadoop,hadoop,集群,usr,Master,hbase,slave1,local,Hbase
来源: https://blog.csdn.net/qq_45976312/article/details/117456624