当前位置: 首页 > article >正文

【Hadoop和Hbase集群配置】3台虚拟机、jdk+hadoop+hbase下载和安装、环境配置和集群测试

目录

一、环境

二、虚拟机配置

三、 JDK、Hadoop、HBase的安装和配置

【安装和配置JDK】

【安装和配置Hadoop】

【安装和配置Hbase】

四、 Hadoop和HBase集群测试

【Hadoop启动测试】

【Hbase启动测试】


一、环境

OS: CentOS-7

JDK: v1.8.0_131

Hadoop: v2.7.6

Hbase: v1.3.1

(自行到官网下载)

二、虚拟机配置

1、下载和安装VMware和CentOS-7,创建和设置虚拟机,配置运行内存2G。硬盘存储空间20G,选取NAT网络适配器。设置root密码和创建用户,进入虚拟机终端,在终端执行sudo passwd root,可重新设置用户密码,使用su root命令登录root用户。

 2、克隆虚拟机,三台虚拟机分别命名为Hadoop1、Hadoop2、Hadoop3。

 3、进行linux系统网络配置,vi /etc/hostname修改主机名(以下只截了Hadoop2的图)。

4、 查看虚拟网络编辑器,确认起始和终止IP地址(看自己的,不要照抄),我的起始ip地址为192.168.204.128,因此3个虚拟机的IP地址可以设置为:

192.168.204.134 Hadoop1

192.168.204.135 Hadoop2

192.168.204.136 Hadoop3

 5、分别在虚拟机Hadoop1、Hadoop2、Hadoop3中执行vi /etc/hosts,添加ip映射,在文件中添加上述的3个虚拟机IP地址。

6、修改虚拟机网卡配置,进入vi /etc/udev/rules.d/70-persistent-net.rules后添加如下内容。

7、修改静态ip地址,进入vi /etc/sysconfig/network-scripts/ifcfg-ens33后添加如下内容(MAC地址在“虚拟机设置”-“网络适配器”-“高级”中查看)。

HWADDR=(MAC地址)

IPADDR=192.168.204.135(该虚拟机IP地址)

GATEWAY=192.168.204.2

NETMASK=255.255.255.0

DNS1=8.8.8.8

8、reboot重启系统

9、检验成功用ping 虚拟机名测试(显示出Hadoop2的IP地址192.168.204.135),Ctrl C停止

10、检测网络连接,保证个人计算机连网状态,执行ping www.baidu.com命令,检测虚拟机网络连接是否正常。

11、看是否安装和开启SSH服务,分别执行“rpm -qa | grep ssh”和“ps -ef | grep sshd”命令,查看当前虚拟机是否安装了SSH服务,以及SSH服务是否启动。

注:已重复Hadoop1和Hadoop3如上流程,完成网络配置,截图已忽略。

12、重启ssh服务,systemctl restart sshd命令(忘记截图),使用远程连接工具SecureCRT。在SecureCRT主界面依次单击“File”-“Quick Connect”选项进入Quick Connect对话框创建快速连接,输入虚拟机对应的ip地址和用户名及密码(以下为连接Hadoop2截图)。

13、配置ssh免密登录(3个虚拟机都操作):首先执行“systemctl restart sshd”命令,生成密钥,接着执行“cd /root/.ssh/”命令进入存储密钥文件的目录,在该目录下执行“ll”命令查看密钥文件,然后将生成的公钥文件复制到集群中相关联的所有虚拟机,实现通过虚拟机Hadoop2可以免密登录虚拟机Hadoop1、Hadoop2和Hadoop3。

Hadoop1:ssh-copy-id hadoop1

Hadoop2:ssh-copy-id hadoop2

Hadoop3:ssh-copy-id hadoop3

14、三个虚拟机分别执行ssh Hadoop1/2/3(除了自己),检验是否成功设置免密登录。

Hadoop1免密登录Hadoop2和Hadoop3

Hadoop2免密登录Hadoop1、Hadoop3

Hadoop3免密登录Hadoop1、Hadoop2

15、 关闭防火墙,执行systemctl stop firewalld与systemctl disable firewalld两条命令。

三、 JDK、Hadoop、HBase的安装和配置

1、创建目录,依次在虚拟机Hadoop1、Hadoop2和Hadoop3的根目录下创建以下目录:

创建存放数据的目录:mkdir -p /export/data/

创建存放安装程序的目录:mkdir -p /export/servers/

创建存放安装包的目录:mkdir -p /export/software/

【安装和配置JDK】

2、上传JDK安装包

在虚拟机Hadoop1 的/export/software目录执行rz命令,将JDK安装包上传,执行ll命令,查看该目录包含的内容,确认是否上传成功。

3、解压JDK,将JDK安装到/export/servers目录。

tar -zxvf jdk-8u131-linux-x64.tar.gz -C /export/servers/

4、切换目录进入/etc/servers,配置jdk环境变量,执行vi /etc/profile命令进入编辑环境变量的文件profile,添加以下内容。

export JAVA_HOME=/export/servers/jdk1.8.0_131

export PATH=$PATH:$JAVA_HOME/bin

5、profile保存退出后,使用source /etc/profile命令初始化系统环境变量,执行java -version命令查看JDK版本号,验证当前虚拟机是否成功安装JDK。(此处不知为何显示的版本号是1.8.0_262而不是1.8.0_131,因为对后续操作没影响我就没去管了)。

6、通过scp命令将虚拟机Hadoop1的JDK安装目录分发至虚拟机Hadoop2和Hadoop3的/export/servers/目录。

向虚拟机Hadoop2分发JDK安装目录:

scp -r /export/servers/jdk  root@hadoop2:/export/servers/

向虚拟机Hadoop3分发JDK安装目录

scp -r /export/servers/jdk  root@hadoop3:/export/servers/

7、通过scp命令将虚拟机Hadoop1的系统环境变量文件profile分发至虚拟机Hadoop2和Hadoop3的/etc目录,并初始化环境变量。

向虚拟机Hadoop2分发系统环境变量文件

scp /etc/profile root@hadoop2:/etc

向虚拟机Hadoop3分发系统环境变量文件

scp /etc/profile root@hadoop3:/etc

【安装和配置Hadoop】

8、Hadoop集群部署模式(完全分布式模式),cd /export/software/进入software目录,执行rz命令上传Hadoop安装包,ll显示,验证安装是否成功。

9、解压安装Hadoop,将Hadoop安装到虚拟机Hadoop1的/export/servers目录。

tar -zxvf /export/software/hadoop-2.7.6.tar.gz -C /export/servers

10、配置Hadoop系统环境变量,执行vi /etc/profile命令进入profile,添加以下内容。保存退出后初始化环境变量。

export HADOOP_HOME=/export/servers/hadoop-3.1.3

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

11、执行Hadoop version命令查看当前虚拟机Hadoop版本号,验证环境变量是否配置成功。

12、配置Hadoop运行环境,切换到Hadoop目录下,执行vi hadoop-env.sh命令进入文件,添加以下内容。

export JAVA_HOME=/export/servers/jdk1.8.0_131

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

13、配置Hadoop,执行vi core-site.xml命令进入文件,添加以下内容。

 <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hadoop1:9000</value>

</property>

<property>

    <name>hadoop.tmp.dir</name>

    <value>/export/data/hadoop-3.1.3</value>

</property>

<property>

   <name>hadoop.http.staticuser.user</name>

   <value>root</value>

</property>

<property>

    <name>hadoop.proxyuser.root.hosts</name>

    <value>*</value>

</property>

<property>

    <name>hadoop.proxyuser.root.groups</name>

    <value>*</value>

</property>

<property>

    <name>fs.trash.interval</name>

    <value>1440</value>

</property>

14、配置HDFS,执行vi hdfs-site.xml命令进入文件,添加以下内容。

 <property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

    <name>dfs.namenode.secondary.http-address</name>

    <value>hadoop2:9868</value>

</property>

15、配置MapReduce,执行vi mapred-site.xml命令进入文件,添加以下内容。

 <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

</property>

<property>

    <name>mapreduce.jobhistory.address</name>

    <value>hadoop1:10020</value>

</property>

<property>

   <name>mapreduce.jobhistory.Webapp.address</name>

    <value>hadoop1:19888</value>

</property>

<property>

    <name>yarn.app.mapreduce.am.env</name>

    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

<property>

    <name>mapreduce.map.env</name>

    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

<property>

    <name>mapreduce.reduce.env</name>

 <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>

</property>

16、配置YARN,执行vi yarn-site.xml命令进入文件,添加以下内容。

 <property>

    <name>yarn.resourcemanager.hostname</name>

    <value>hadoop1</value>

</property>

<property>

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

</property>

<property>

    <name>yarn.nodemanager.pmem-check-enabled</name>

    <value>false</value>

</property>

<property>

    <name>yarn.nodemanager.vmem-check-enabled</name>

    <value>false</value>

</property>

<property>

    <name>yarn.log-aggregation-enable</name>

    <value>true</value>

</property>

<property>

    <name>yarn.log.server.url</name>

    <value>http://hadoop1:19888/jobhistory/logs</value>

</property>

<property>

    <name>yarn.log-aggregation.retain-seconds</name>

    <value>604800</value>

</property>

17、配置Hadoop从节点服务器,执行vi workers命令,将workers文件默认的内容修改为如下内容。

18、分发Hadoop安装目录,使用scp命令将虚拟机Hadoop1的Hadoop安装目录分发至虚拟机Hadoop2和Hadoop3中存放安装程序的目录。

向虚拟机Hadoop2中分发存放安装程序的目录

scp -r /export/servers/hadoop-3.1.3 root@hadoop2:/export/servers/

向虚拟机Hadoop3中分发存放安装程序的目录

scp -r /export/servers/hadoop-3.1.3 root@hadoop3:/export/servers/

19、分发环境变量,使用scp命令将虚拟机Hadoop1的系统环境变量文件profile分发至虚拟机Hadoop2和Hadoop3的/etc目录。

向虚拟机Hadoop2中分发/etc目录

 scp /etc/profile root@hadoop2:/etc

向虚拟机Hadoop3中分发/etc目录

 scp /etc/profile root@hadoop3:/etc

【安装和配置Hbase】

20、安装hbase,使用rz命令上传hbase安装包(忘记截图了),ll命令显示验证安装是否成功,

21、解压安装hbase,将hbase安装到虚拟机Hadoop1的/export/servers目录。

22、配置hbase系统环境变量,执行vi /etc/profile命令进入profile,添加以下内容(最后两条)。保存退出后初始化环境变量。

23、使用yum命令安装对应的openjdk_devel。

24、执行hbase version命令查看当前虚拟机hbase版本号,验证环境变量是否配置成功。

25、进入/export/servers/hbase-1.3.1/conf目录,修改配置文件hbase-env.sh,添加如下信息。

export JAVA_HOME=/export/servers/jdk1.8.0_131
export HBASE_MANAGES_ZK=true
export HBASE_CLASSPATH=/export/servers/hadoop-2.7.6/etc/hadoop 

26、修改配置文件hbase-site.xml,添加如下信息(具体的名称和ip地址要改成自己的,不能照抄)

  <property>
                <name>hbase.rootdir</name>
                <value>hdfs://192.168.204.134:9000/hbase</value>
                <description>The directory shared by regionservers.</description>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.tmp.dir</name>
                <value>./tmp</value>
        </property>
        <property>
                <name>hbase.unsafe.stream.capability.enforce</name>
                <value>false</value>
        </property>
        <property>
                <name>hbase.master</name>
                <value>hdfs://192.168.204.134:60000</value>
        </property>
        <property>
                <name>hbase.master.maxclockskew</name>
                <value>180000</value>
        </property>
        <property>
                <name>hbase.zookeeper.property.dataDir</name>
                <value>/export/zookeeper</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>192.168.204.134,192.168.204.135,192.168.204.136</value>
        </property>

27、通过scp命令将虚拟机Hadoop1的hbase安装目录分发至虚拟机Hadoop2和Hadoop3的/export/servers/目录。

向虚拟机Hadoop2分发hbase安装目录:

向虚拟机Hadoop3分发hbase安装目录:

28、通过scp命令将虚拟机Hadoop1的系统环境变量文件profile分发至虚拟机Hadoop2和Hadoop3的/etc目录,并初始化环境变量。

向虚拟机Hadoop2分发系统环境变量文件

scp /etc/profile root@hadoop2:/etc

向虚拟机Hadoop3分发系统环境变量文件

scp /etc/profile root@hadoop3:/etc

四、 Hadoop和HBase集群测试

【Hadoop启动测试】

1、在虚拟机Hadoop1执行“hdfs namenode -format”命令,对基于完全分布式模式部署的Hadoop进行格式化HDFS文件系统的操作。

2、启动Hadoop,执行start-dfs.sh

3、启动yarn,执行start-yarn.sh

4、查看Hadoop运行状态:分别在虚拟机Hadoop1、Hadoop2和Hadoop3执行“jps”命令查看Hadoop运行状态。

5、关闭Hadoop和YARN.,执行stop-dfs.sh和stop-yarn.sh

【Hbase启动测试】

1、启动Hbase。执行start-hbase.sh

2、查看Hbase运行状态:分别在虚拟机Hadoop1、Hadoop2和Hadoop3执行“jps”命令查看。


http://www.kler.cn/a/387417.html

相关文章:

  • 【Linux篇】面试——用户和组、文件类型、权限、进程
  • el-table 纵向垂直表头处理
  • 16S,18S引物覆盖度测试:SILVA和PR2
  • Spring Boot应用开发:从入门到精通
  • PCL 点云拟合 Ransac拟合圆柱
  • docker 拉取MySQL8.0镜像以及安装
  • go中的类型断言详解
  • 学习笔记:黑马程序员JavaWeb开发教程(2024.11.9)
  • 使用成熟的框架做量化剪枝蒸馏
  • 机器学习系列----梯度下降算法
  • MVDR:最小方差无失真响应技术解析
  • 通过 Nacos 服务发现进行服务调用时的 500 错误排查与解决
  • C++类和对象 (下)
  • Linux数据管理初探
  • PG COPY 与 INSERT方式导入数据时, 表默认值表现的不同
  • 使用k8s RBAC和ValidatingAdmissionPolicy 配合来校验用户权限
  • Kafka 的一些问题,夺命15连问
  • 简单记录某云创建云主机部署docker,能ping通外网而curl不通的问题
  • 【go从零单排】初探goroutine
  • C# 项目中配置并使用 `log4net` 来输出日志
  • ChatGPT的多面手:日常办公、论文写作与深度学习的结合
  • OpenCV视觉分析之目标跟踪(11)计算两个图像之间的最佳变换矩阵函数findTransformECC的使用
  • MySQL基础-单表查询
  • 【MySQL】数据库整合攻略 :表操作技巧与详解
  • [编译报错]ImportError: No module named _sqlite3解决办法
  • 任天堂闹钟“Alarmo”已被用户破解 可显示自定义图像