ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hadoop集群+Hbase集群搭建

2021-06-01 23:33:54  阅读:172  来源: 互联网

标签:Hadoop hadoop 集群 usr Master hbase slave1 local 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有