环境centos7
步骤:
- 设置虚拟网络与ssh远程连接工具
- 时间同步,关闭防火墙,克隆,设置ssh免密登录
- hadoop安装与配置
- hive安装与配置
- mysql安装与配置
虚拟网络设置与ssh远程连接工具的使用
- 编辑>虚拟网络编辑器
选择VMnet8,net模式
可以去网络与Internet>更改适配器中查看,已出现VMnet8
- 回到虚拟机中
vi /etc/sysconfig/network-scripts/ifcfg-ens33
将BOOTPROTO修改为static
ONBOOT修改为yes,意为开机启动网络服务
并添加
IPADDR=192.168.10.101
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
DNS1=8.8.8.8
DNS2=114.114.114.114
然后重启网络服务
systemctl restart network
查看地址
ip addr
- 远程连接
可以先在Windows下ping 198.168.10.101
使用的ssh工具是MabaXterm
新建session连接
时间同步,关闭防火墙,克隆,设置ssh免密登录 - 时间同步
在实际生产环境中,很多软件或者很多任务对集群上的时间是否一致要求是很严格的。有的要求集群中所有的时间差不能在10 分钟意外,有的要求所有机器上的时间不能在30 秒以外。这样,在技术上,就要涉及到时间同步的问题了
同步时间时需要使用ntpdate命令,如果没有可以用用yum安装
yum install -y ntpdate
然后使用ntpdate同步网络上的时间服务器的时间
ntpdate -u ntp.aliyun.com
定时同步
crontab -e
* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com
也可以自定义时间服务器,如果集群没有联网的话,可以自己搭建一个时间服务器,让集群中的所有的机器都同步局域网内的时间服务器内的时间服务器
- 关闭防火墙
systemctl start filrewalld //开启防火墙
systemctl stop firewalld//关闭防火墙
systemctl restart firewalld//重启防火墙
systemctl status firewalld//查看防火墙的运行状态
systemctl enable firewalld // 打开开机自启动
systemctl disable firewalld // 关闭开机自启动
关闭NetworkManager
systemctl status NetworkManager
systemctl start NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl enable NetworkManager
- 克隆虚拟机
先关闭虚拟机
然后克隆,选择完整克隆
克隆完以后将克隆出的两台虚拟机的IP地址配置一下,只需修改配置文件ens33中的IPADDR。
并重启一下网络
修改主机名
hostnamectl set-hostname lin02
修改域名映射文件,每个虚拟机都要做
vi /etc/hosts
192.168.10.101 lin01
192.168.10.102 lin02
192.168.10.103 lin03
- 设置ssh免密登录
ssh是一个远程登陆的命令,可以远程登陆到指定的虚拟机,一般登陆时需要身份验证,现在要将他设置成免密登录
yum install openssh-clients -y
ssh-keygen -t rsa // 生成公钥和私钥
ssh-copy-id lin02 //将公钥copy到lin02上,实际上十八公钥的内容追加到authoried_keys文件中
在/root/.ssh中的文件就是ssh免密登录产生的文件
ssh原理,01主机向02主机发送连接请求时,附带主机、IP地址等信息, 02主机收到请求后,去授权文件中查找01的公钥,找到之后随机生成一个字符串,并使用公钥加密,发送给01,01收到密文后,用私钥解密,并把解密的结果发送给02,02拿到解密的内容后与之前的字符串进行比较,如果相同,则可以登陆成功。
Hadoop 分布式文件系统
- hadoop的安装与配置
在root下建一个文件夹,用来存放安装包
mkdir soft
在ssh工具中将安装包上传到soft下
解压两个软件包
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/local/
tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/
并进行更名操作
cd /usr/local/
mv jdk1.8.0_221/ jdk
mv hadoop-2.7.6/ hadoop
配置环境变量
vi /etc/profile
#java environment
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
#hadoop environment
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source profile
hadoop配置文件
共配置四个文件:
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
cd /usr/local/hadoop/etc/hadoop
core-site.xml:
vi core-site.xml
<configuration>
<!-- hdfsd的地址名称:schame,ip,port-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://lin01:8020</value>
</property>
<!-- hdfs的基础路径,被其他属性所依赖的一个基础路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
vi hdfs-site.xml
<configuration>
<!-- namenode守护进程管理的元数据文件fsimage存储的位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value