先创建一个虚拟机,系统为centos7,然后下载xshell for school,直接去官网下载就ok,学生版免费用。 安装完成输入 ip a命令查看ip地址,然后通过xshell连接虚拟机。
ip a
新建会话,连接你的虚拟机 然后输入用户名,密码。
查看已安装的jdk文件:
rpm -qa | grep java
卸载本地的jdk,删除带有java-xxx的文件名
rpm -e --nodeps 文件名(复制即可)
然后敲命令 getconf LONG_BIT获取系统是64还是32位
getconf LONG_BIT
下载对应的版本,后缀为.tar.gz,并用xftp上传到/usr/local/jdk里面,也可以选择其他路径 直接拖拽 然后回到xshell使用tar -zxvf 文件名 命令解压,然后使用命令 ll 查看文件目录
此时安装完成,但是还需要配置环境变量,使用命令cd jdk-xxx进入文件夹,然后使用命令 pwd 获取当前路径
cd jdk-xxx
pwd
使用命令 vim /etc/profile,
vim /etc/profile
将下面的一段代码复制进去
#set java environment
JAVA_HOME=
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
复制绝对路径,然后把JAVA_HOME补全
保存并退出,然后刷新资源
source /etc/profile
然后测试Java是否能正常用,仅仅用java -version是不够的,还要编辑一个Java文件
vim A.java
class A{
public static void main(String[] args){
System.out.println("hello world!!!!!!!!!!");
}
}
javac A.java
java A
能够输出内容就代表jdk安装成功!
真分布式集群的部署需要至少三台虚拟机,这里不用再创建,直接克隆虚拟机就好。先把机器关机然后再右键克隆。
然后点击完成,并将母机改名成master,克隆的机器改为slave1,再克隆一个名字改为slave2,然后将slave1,slave2通过xshell连接
刚才改名是改的VMware虚拟机名字,现在要改centos7主机名,以master做示范
vim /etc/hostname
删除原本的信息改成master保存并退出
reboot
重启虚拟机 修改成功!!! 在hosts文件末尾添加如下字段(master、slave1、slave2同样执行如下操作)
vim /etc/hosts
192.168.xxx.xxx master
192.168.xxx.xxx slave1
192.168.xxx.xxx slave2
设置免密登录,一直回车就ok
ssh-keygen -t rsa
然后在master上分别对包括自己的所有机器执行ssh-copy-id 命令(ssh-copy-id master、ssh-copy-id slave1、ssh-copy-id slave2)
ssh-copy-id master #slave1 slave2操作一样
然后根据提示操作
测试一下连通性
连接成功
用命令logout退出
logout
然后用xftp将hadoop传到master上/usr/local/hadoop 和jdk传输一样,然后解压 创建几个必要的目录
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
修改各种配置文件
修改core-site.xml,添加如下配置
cd /usr/local/hadoop/hadoop-3.3.1/etc/hadoop
vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
修改hadoop-env.sh,将JAVA_HOME改成jdk的绝对路径,删除注释
vim hadoop-env.sh
修改 hdfs-site.xml
vim hdfs-site.xml
粘贴以下字段
<configuration>
<property>
<name>dfs.name.dir</name>
<value>file:///root/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>file:///root/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.safemode.threshold.pct</name>
<value>0.999f</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>lisy-cluster</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
</configuration>
修改mapred-site.xml
vim mapred-site.xml
粘贴以下字段
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://master:9001</value>
</property>
</configuration>
修改slaves文件 将以下内容复制上去
master
slave1
slave2
修改start-yarn.sh文件
vim /usr/local/hadoop/hadoop-3.3.1/sbin/start-yarn.sh
添加以下字段到文件末尾
"$bin"/mr-jobhistory-daemon.sh start historyserver
将hadoop添加到环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/hadoop/hadoop-3.3.1/bin#路径复制自己的安装路径
配置启动、停止服务的相关文件
在start-dfs.sh、stop-dfs.sh文件里顶部粘贴以下字段
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
将start-yarn.sh,stop-yarn.sh(在hadoop安装目录的sbin里)两个文件顶部添加以下参数
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
查看进程
jps
有以下信息代表启动成功! 如果缺少nameNode,用以下命令!!
stop-dfs.sh
hadoop namenode -format
start-dfs.sh
然后在window10本地访问master:9870,如果不能访问,关闭防火墙,或者开放端口! 至此hadoop部署完成