准备工作:
centos6.5下载地址 系统
1、在虚拟机上安装3台centos6.5系统 我用的是VMware 12 虚拟机 这个看大家的喜欢用哪个都可以
2、下载jdk1.8 点击打开链接
2、下载hadoop3.1 点击打开链接
准备工作完成了现在正式开始
在VMware 12 虚拟机上建系统步骤 请看图
以上是虚拟机的安装选项 下面就是CentOS的系统里的选项
Install or upgrade an existing system 安装或升级现有的系统
出现是否对CD媒体进行测试的提问,这里选择“Skip”跳过测试。
选 Next
这里是选择语言就用它默认的英文 然后Next
选默认的美国英语式 然后Next
选择第一个 基本存储设备 然后Next
选择第一个 是,忽略所有数据 然后Next
叫设置主机名,现在默认即可 等下进去再修改 然后Next
叫设置时区 选择上海就行了 取消“系统时钟使用UTC时间”前面的勾 然后Next
设置root(超级管理员)密码 注意:如果你使用的密码过于简单,系统会自动提示,这里选择“无论如何都使用”
选择最后一项,创建自定义布局 然后Next
可以看到硬盘的容量,我的硬盘共20G 然后自定义分区 点Create
选第一个标准分区然后点Create
挂载点:/
文件系统类型:ext4
大小:18431
OK
接着点 Create新建分区
Swap2G(内存小于2G时,设置为内存的2倍;内存大于或等于2G时,设置为2G)
文件系统类型:swap
大小:2048
其他选项默认即可
OK
然后点Next
点格式化(Format)
点 将修改写入磁盘
点Next
在这里因为是学习 选Basic Server(基本的服务器) 如果在正式的工作环境的服务器选Minimal(最小) 然后Next
等着安装完成
这就算安装好了 然后点Reboot(重新引导)重启系统
输入账户(root),密码就行了
显示#号就说明进入系统了
然后开始配置ip地址(不配不能上网,三台机器也不能连接)
因为要hadoop的需要要固定IP地址 所以虚拟机的网络模式要选NAT模式
进入VMware 12 虚拟机点击编辑
点击更改设置
更改子网ip和linux系统里对应 其他按照图片里选 点确定
然后打开win10系统的网络共享中心选择更改适配器设置
在里面找到VMnet8
右键属性进去点击协议版本4
更改IP地址 按照图上配置 点确定就行了
然后回到linux系统中在配置IP地址
cd /etc/sysconfig/network-scripts/
输入上面这句代码点确定
在输入vim ifcfg-eth0 点确定(如果输入vim ifcfg-eth0 显示错误就输入vi ifcfg-eth0 )
进去就是这样的 vim就是一个进入文本的命令,进去按键盘a就是编辑内容
BOOTPROTO=static #这里讲dhcp换成static因为我们要保持ip地址不变
ONBOOT=yes #将no换成yes
IPADDR=192.168.136.20 #静态IP
GATEWAY=192.168.136.2 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.136.2
编辑完了按Esc后按" Shift+: " 输入小写的wq保存退出
按照上面的输入service network restart 重启网络服务
输入上面的代码:ping www.baidu.com
看网通没有图上所示就是通了
其他两台CentOS系统安装按照上面的方法配置就行了
IP地址通了 就要用一个辅助软件了 相当远程连接linux 因为在虚拟机上操作不方便 不能粘贴 复制
点击打开链接
就是叫MobaXterm的软件
点击Session进去新建ssh
输入linux密码
下一步安装jdk
(因为hadoop是java写的要jdk的环境才能运行)
现在根目录下创建一个文件夹 用来放jdk和hadoop
用辅助软件把本地的jdk上传到linux上(就是拖过去就行了)
用上面的命令把jdk解压到当前目录
用命令把jdk改个名字 等下好配环境
用命令进入配置环境
配置环境
export JAVA_HOME=/test/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
按a编辑 按Shift+: 输入wq保存退出
加载刚设置的变量:source /etc/profile
测试 配置的jdk 到这一步jdk配完了
三台机器都是同样的配置操作 下一步安装SSH免密登录
要安装hadoop前要安装免密登录
禁用防火墙
这就把防火墙给关闭了。此时,我们可以查看一下:is not running
我们现在想要开机就禁用防火墙:凡是开机就运行的就要把它放入/etc/profile里面去(也就是配置jdk环境里面)
立即生效
设置DNS解析(配置IP)
输入 ip a 查看一下IP
我们把ip拷贝一下:把ip放入我们的 vi /etc/hosts 里面去,加到最后,计算机名:hadoop0,计算机名不要随便取,我们统一叫hadoop0。然后退出来。(第二台机器和第三台机器名字改成hadoop1,hadoop2)
禁用selinux安全策略
修改计算机名(第二台机器和第三台机器名字改成hadoop1,hadoop2)
我们这里改了三个东西
设置SSH免密码登录
SSH指的是远程连接的方式,进程之间通信的方式,hadoop有多个进程,多个进程之间通过SSH这种加密的方式进行通信,如果不适用SSH,进程之间通信还要每次输入密码,操作很不方便,有了SSH登录,我们就不用设置密码了。
进入根目录下的ssh目录下去
然后:复制秘钥文件
测试:
这里是问我们第一次连接,是否连接,以后就不会问了,我们输入yes;
这里如果没有让我们输入密码,说明我们就成功了。
然后退出:退出的是SSH的这种登录状态。SSH就像远程登录一样,现在退出远程登录
先在本地把hadoop3.1上传到linux上 和前面上传jdk一样
然后压缩 为了方便 在把名字改了
进入vim /etc/profile 设置hadoop的环境
export HADOOP_HOME=/test/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
环境立即生效
进入这个目录下修改以下文件:
需要配置的文件有 :
hadoop-env.sh
进去添加
export JAVA_HOME=/test/jdk
core-site.xml
进去添加
fs.defaultFS
hdfs://hadoop0:9000
hadoop.tmp.dir
/home/hadoop_tmp/
hdfs-site.xml
进去添加
dfs.replication
2
dfs.namenode.name.dir
/test/hadoop/hdfs/name
dfs.datanode.data.dir
/test/hadoop/hdfs/data
dfs.namenode.secondary.http-address
hadoop1:9001
dfs.http.address
0.0.0.0:50070
mapred-site.xml
进去添加
mapred.job.tracker.http.address
0.0.0.0:50030
mapred.task.tracker.http.address
0.0.0.0:50060
mapreduce.framework.name
yarn
mapreduce.application.classpath
/test/hadoop/etc/hadoop,
/test/hadoop/share/hadoop/common/*,
/test/hadoop/share/hadoop/common/lib/*,
/test/hadoop/share/hadoop/hdfs/*,
/test/hadoop/share/hadoop/hdfs/lib/*,
/test/hadoop/share/hadoop/mapreduce/*,
/test/hadoop/share/hadoop/mapreduce/lib/*,
/test/hadoop/share/hadoop/yarn/*,
/test/hadoop/share/hadoop/yarn/lib/*
yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.webapp.address
hadoop0:8099
yarn.resourcemanager.address
hadoop0:8032
yarn.resourcemanager.scheduler.address
hadoop0:8030
yarn.resourcemanager.resource-tracker.address
hadoop0:8031
slaves
里面添加节点机也就是第二太机器和第三台机器的IP地址
第二,三台机器和第一台一样的配法
可以把第一台的hadoop复制到第二、三台去命令是:
scp -r /test/hadoop-3.1.0 root@hadoop1:/test/
scp -r /test/hadoop-3.1.0 root@hadoop2:/test/
启动hadoop
hdfs namenode -format // 首次启动格式化namenode
start-all.sh // 启动hadoop集群
jps // 查看JVM运行的程序
在/test/hadoop/sbin/
vim start-dfs.sh
vim stop-dfs.sh
添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
当报错YARN_RESOURCEMANAGER_USER时
在/test/hadoop/sbin/
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
有问题的欢迎提问
参考:https://blog.csdn.net/qq_32808045/article/details/76229157