【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"命令查看。

相关推荐
祁思妙想4 分钟前
《JavaEE进阶》----21.<基于Spring图书管理系统②(图书列表+删除图书+更改图书)>
java·后端·spring
祁思妙想5 分钟前
《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>
java·spring·java-ee
nrsc9 分钟前
[实用小代码java]-如何将对象存储服务器上的文件下载到客户端
java·服务器·oss·文件下载·octet-stream
南山十一少10 分钟前
当使用key-value方式进行参数传递时,若key对应的是一个对象或数组结构,如何利用API Post工具进行模拟操作。
java·开发语言
激流丶13 分钟前
【缓存策略】你知道 Write Around(缓存绕过写)这个缓存策略吗?
java·分布式·缓存
激流丶16 分钟前
【缓存策略】你知道 Write Through(直写)这个缓存策略吗?
java·分布式·后端·缓存·中间件
BillKu30 分钟前
Linux(CentOS)项目总结(前后端分离)
java·linux·mysql·nginx·centos
生命几十年3万天39 分钟前
故事1111
java
一二小选手43 分钟前
【Java Web】EL表达式
java·servlet·el
编程修仙1 小时前
java的单例设计模式
java·单例模式·设计模式