完整目录、平台简介、安装环境及版本:参考《Spark平台(高级版)概览》
三、基础环境安装
3.1 新建用户
新建用户:useradd -d /home/hadoop -m hadoop
设置密码: passwd hadoop
3.2 JDK
3.2.1 创建目录
在根目录下创建hadoop目录:mkdir /hadoop
修改目录属性为hadoop用户所有:chown hadoop:hadoop /hadoop
切换到hadoop 用户su – hadoop。
在/hadoop目录下新建目录JDK:mkdir JDK。
3.2.2 安装文件
资源安装文件位于:jdk-8u131-linux-x64.tar.gz
将文件上传到/haoop/JDK目录
解压缩:tar -xf jdk-8u131-linux-x64.tar.gz
删除安装文件:rm -rf jdk-8u131-linux-x64.tar.gz
查看安装目录:ll jdk1.8.0_131/
3.2.3 环境变量
Hadoop用户下添加环境变量:vi ~/.bashrc
export JAVA_HOME=/hadoop/JDK/jdk1.8.0_131export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH
3.2.4 验证
在hadoop用户下使环境变量生效:source ~/.bashrc
查看路径:echo $PATH
查看版本:java -version
3.3 SSH免密登录
产生SSH Key秘钥:ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
查看秘钥位置:ll ~/.ssh
将产生的key写入许可证书中:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
查看许可证书:ll ~/.ssh
修改属性:chmod 600 ~/.ssh/authorized_keys
关机:shutdown -t secs 0
3.4 将节点hadoop1复制到hadoop2
Hadoop安装完成后,接下来安装hadoop2和hadoop3,可以按照之前的顺序重新操作,也可以通过虚拟主机复制的形式进行复制。
此处以复制的方式进行处理,右键选择主机节点hadoop1,点击“复制”。
设置新主机名称为hadoop2,安装目录和hadoop1一样为D:\hadoop,同时重新生成所有MAC地址,点击“下一步”。
选择“完全复制”,点击“复制”按钮。
复制成功后,出现hadoop2虚拟主机:
3.4.1 设置IP
启动hadoop2虚拟机,选择hadoop2,点击“启动”按钮。
启动完成后,按照提示输入用户名和密码。
输入vi ifcfg-enp0s3,编辑、保存并退出。
/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static //静态分配
IPDEFROUTE=yes
NAME=enp0s3 //网卡名
DEVICE=enp0s3 //网卡名
ONBOOT=yes //开机启动
IPADDR=192.168.56.103 //IP地址
NETMASK=255.255.255.0 //掩码
HWADDR="08:00:27:F5:67:0D" //网卡1的MAC地址
输入vi ifcfg-enp0s8,编辑、保存并退出。
/etc/sysconfig/network-scripts/ifcfg-enp0s8
TYPE=Ethernet
BOOTPROTO=dhcp //静态分配
IPDEFROUTE=yes
NAME=enp0s8 //网卡名
DEVICE=enp0s8 //网卡名
ONBOOT=yes //开机启动
HWADDR="08:00:27:26:E6:3C" //网卡1的MAC地址
重启网卡:service network restart
查看网卡情况:ip addr
使用ssh远程连接192.168.0.103,通过root用户名和密码进行登录,能连接上说明“网卡1”配置完成。
ping验证,能ping通外网,说明“网卡2”配置完成。
3.4.2 设置主机名
编辑文件:vi /etc/hostname
app-12
编辑文件:vi /etc/hosts
192.168.56.103 app-12
重启网络:service network restart
重启系统:reboot
查看主机名:hostname
关机:shutdown -t secs 0
3.5 将节点hadoop1复制到hadoop3
方式和hadoop2类似。
IP地址修改ifcfg-enp0s3修改为:
/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static //静态分配IP
DEFROUTE=yesNAME=enp0s3 //网卡名
DEVICE=enp0s3 //网卡名
ONBOOT=yes //开机启动
IPADDR=192.168.56.104 //IP地址
NETMASK=255.255.255.0 //掩码
HWADDR="08:00:27:36:F8:FC" //网卡1的MAC地址
IP地址修改ifcfg-enp0s8修改为:
/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=dhcp //静态分配IP
DEFROUTE=yes
NAME=enp0s8 //网卡名
DEVICE=enp0s8 //网卡名
ONBOOT=yes //开机启动
HWADDR="08:00:27:6D:C5:1E" //网卡1的MAC地址
主机名修改为:app-13
修改完成后查看网络情况
用ssh连接192.168.56.104,能连接成功说明网卡1配置成功。
ping验证,能ping通外网,说明网卡2设置成功。
3.6 /etc/hosts
将hadoop1、hadoop2、hadoop3都启动。
编辑文件hadoop1、hadoop2、hadoop3:vi /etc/hosts
/etc/hosts
192.168.56.102 app-11
192.168.56.103 app-12
192.168.56.104 app-13
3.7 SSH免密连接
切换到hadoop用户:su – hadoop
3.7.1 app-11节点
3.7.1.1 连接app-12
测试连接app-12节点:ssh app-12
可以看出已经切换到app-12了,而无需输入密码。
返回:exit
成功返回到app-11
再次连接时,直接就可以连接了
3.7.1.2 连接app-13
测试连接app-13节点:ssh app-13
可以看出已经切换到app-13了,而无需输入密码。
返回:exit
成功返回到app-11
- 同样再次连接时,直接就可以连接了
3.7.2 app-12节点
操作类似
3.7.3 app-13节点
操作类似
3.8 expect
Expect是一个用来处理交互的工具,通常用于需要手动输入数据的场景,可在脚本中使用expect来实现自动化。
用ssh远程连接到app-11节点
进入到/hadoop目录
新建tools目录:mkdir tools
上传文件expect.tar
解压缩上传文件:tar -xf expect.tar
清除文件包expect.tar
3.9 protobuf-2.5.0
Protobuf 提供了C++、java、python语言的支持,提供了windows(proto.exe)和linux平台动态编译生成proto文件对应的源文件。后续编译tez时需要。
用ssh远程连接到app-11节点
进入到/hadoop/tools目录
上传文件protobuf-2.5.0.tar
解压缩上传文件:tar -xf protobuf-2.5.0.tar
清除文件包expect.tar
设置环境变量
切换到hadoop用户:su -hadoop
编辑环境变量:vi ~/.bashrc
环境变量生效:source ~/.bashrc
查看版本号:protoc –version
3.10 组件
3.10.1 zip unzip
三个节点均安装unzip命令:yum install -y unzip zip
3.10.2 bzip2
三个节点均安装bzip2:yum install -y bzip2
后续安装Anaconda3需要用到这个命令。
3.10.3 net-tools
三个节点均安装:yum install net-tools