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

目录

一、环境

二、虚拟机配置

[三、 JDK、Hadoop、HBase的安装和配置](#三、 JDK、Hadoop、HBase的安装和配置)

【安装和配置JDK】

【安装和配置Hadoop】

【安装和配置Hbase】

[四、 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"命令查看。

相关推荐
九圣残炎1 分钟前
【从零开始的LeetCode-算法】3354. 使数组元素等于零
java·算法·leetcode
PersistJiao6 分钟前
Spark 分布式计算中网络传输和序列化的关系(二)
大数据·网络·spark·序列化·分布式计算
九河云16 分钟前
如何对AWS进行节省
大数据·云计算·aws
天天扭码36 分钟前
五天SpringCloud计划——DAY1之mybatis-plus的使用
java·spring cloud·mybatis
程序猿小柒41 分钟前
leetcode hot100【LeetCode 4.寻找两个正序数组的中位数】java实现
java·算法·leetcode
FreeIPCC1 小时前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
梦幻通灵1 小时前
ES分词环境实战
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 小时前
Elasticsearch 中的热点以及如何使用 AutoOps 解决它们
大数据·运维·elasticsearch·搜索引擎·全文检索
不爱学习的YY酱1 小时前
【操作系统不挂科】<CPU调度(13)>选择题(带答案与解析)
java·linux·前端·算法·操作系统
丁总学Java1 小时前
Maven项目打包,com.sun.tools.javac.processing
java·maven