1服务器环境介绍
在腾讯云购买了三台服务器,三台机器是由三个微信账号单独购买的(为了省钱),因此内网地址互相不能连通,这也为后面的配置增加了一些麻烦。
如果看到后续的一些文章中,在配置三台机器时,有的使用内网ip,有的使用公网ip,有的使用0.0.0.0作为主机ip,就是为了解决这个问题。
但是我认为这种配置是兼容多台主机在同一个内网环境的情况的,但我没有进行验证,各位朋友可以根据自己情况调整ip的设置。
这三台机器,一台作为主节点(master),另外两台作为从节点(slave1、slave2)。用这三台服务器构建一个大数据的集群。
三台服务器使用的是Ubuntu 18.04的操作系统。三台机器的默认登录用户名均为:ubuntu。
2修改三台主机的host文件
2.1修改主机名称
由于腾讯云的默认主机名比较复杂,因此先修改主机名,以master机器为例,输入指令:
hostname master
将主机名修改为master。
slave1机器,使用指令:
hostname slave1
slave2机器,使用指令:
hostname slave2
2.2修改hosts配置
输入指令:
sudo vim /etc/hosts
打开hosts文件,按照: ip 主机名 的格式,每行一台机器的设置。
master机器设置如下:(出于安全原因,文中用xxx代替了部分真实ip地址)
10.206.xxx.11 master #master 的内网地址
119.45.xxx.83 slave1 #slave1 的公网地址 119.45.xxx.181 slave2 #slave2 的公网地址
slave1设置如下:
119.45.xxx.245 master #master 的公网地址 10.206.xxx.8 slave1 #slave1 的内网地址 119.45.xxx.181 slave2 #slave2 的公网地址
slave2设置如下:
119.45.xxx.245 master #master 的公网地址 119.45.xxx.83 slave1 #slave1 的公网地址 10.206.xxx.14 slave2 #slave2 的内网地址
3更新apt-get
输入命令打开apt-get配置文件
sudo vim /etc/apt/sourses.list
将内容替换为:
deb http://mirrors.tencentyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.tencentyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.tencentyun.com/ubuntu/ bionic-updates main restricted universe multiverse #deb http://mirrors.tencentyun.com/ubuntu/ bionic-proposed main restricted universe multiverse #deb http://mirrors.tencentyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.tencentyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-updates main restricted universe multiverse #deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-proposed main restricted universe multiverse #deb-src http://mirrors.tencentyun.com/ubuntu/ bionic-backports main restricted universe multiverse
保存文件后输入命令,更新apt源,并升级:
apt-get update
apt-get upgrade
由于腾讯云的服务器已经设置好了,因此这步可以省略。
4设置SSH免密登录
由于腾讯云服务器已经安装并开启了ssh服务,因此不需要从apt-get下载open ssh了。
在master机器上,输入以下命令,并连续点击三次回车,会看到一个图形状的显示,表示公私密钥都已经生成成功:
ssh-keygen
生成的密钥在 ~/.ssh 目录中,目录包含以下三个文件,第一个文件,原本就有,但原来是空的,现在需要将id_rsa.pub
authorized_keys id_rsa id_rsa.pub
在master上继续运行命令:
ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2
然后在slave1上运行命令:
ssh-keygen ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2
同样在slave2上运行命令:
ssh-keygen ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2
这样三台机器的ssh免密登录就已经设置完成了。
5下载大数据相关框架的压缩包,解压并设置环境变量
各组件的版本如下所示:
JDK版本: 1.8
Scala版本:2.11.7
Hadoop版本:2.9.2
Spark版本:2.1.1
Hive版本:2.3.3
Zookeeper版本:3.3.0
HBase版本:1.4.6
下载好压缩包后,解压到如下目录(下面的不是linux命令,只是为了说明文件放在了哪个目录中,可以使用相关解压缩命令在完成这些操作):
java -> /usr/local/jdk1.8.0_261
hadoop -> /usr/local/hadoop-2.9.2/
spark -> /usr/local/hadoop-2.9.2/spark-2.1.1-bin-hadoop2.7
scala -> /usr/local/hadoop-2.9.2/scala-2.11.7
hive -> /usr/local/hadoop-2.9.2/hive
zookeeper -> /usr/local/hadoop-2.9.2/zookeeper
hbase -> /usr/local/hadoop-2.9.2/hbase-1.4.6
设置环境变量,在三台机器上,输入如下命令,打开环境变量配置文件
sudo vim /etc/profile
在文件的最后,补充如下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_261 export JAVA_BIN=JAVA_HOME/bin/java export JRE_HOME=JAVA_HOME/jre export HADOOP_HOME=/usr/local/hadoop-2.9.2 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar export SCALA_HOME=$HADOOP_HOME/scala-2.11.7 export SPARK_HOME=$HADOOP_HOME/spark-2.1.1-bin-hadoop2.7 export HIVE_HOME=$HADOOP_HOME/hive export HBASE_HOME=$HADOOP_HOME/hbase-1.4.6 export KAFKA_HOME=$HADOOP_HOME/kafka_2.11-2.3.1/ export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$HIVE_HOME/bin:$HIVE_HOME/conf:$HBASE_HOME/bin:$KAFKA_HOME:$KAFKA_HOME/bin
运行下面的命令使配置文件生效:
source /etc/profile
至此环境变量设置完毕。
后续文章请看:
大数据框架环境安装与配置02--Hadoop
大数据框架环境安装与配置03--Spark
大数据框架环境安装与配置04--Hive
大数据框架环境安装与配置05--HBase