目录
一、环境
二、虚拟机配置
三、 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”命令查看。