在linux下jdk安装和建立Hadoop集群的过程实验报告(搭建Hadoop集群)。

1.模板虚拟机环境准备

        相关视频:

半小时快速搭建Hadoop集群_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1x5411177Y?spm_id_from=333.880.my_history.page.click

        相关资源:

        https://pan.baidu.com/s/1jSWf9JafMsxx0LXlRmW-2w?pwd=jaha

        提取码:jaha

打开VMware软件,创建操作系统centos7操作系统,配置静态网卡和主机名、hosts文件

双击     打开软件

由于创建操作系统centos7,需要单机创建新的虚拟机按钮

 VMware是虚拟化软件,能够模拟计算机硬件,下面是模拟计算机硬件,给操作系统centos7分配多少资源

选择典型,是按照常规VMware分配操作系统的硬件资源

如果需要更多,或特别规定,选择自定义按钮,进行配置

点击下一步按钮,进行下一步操作

选择安装程序光盘映像文件单选按钮,点击浏览按钮,选择物理机(就是真实的主机)上提前下载好的操作系统镜像文件,点击确定按钮,把镜像文件选择到虚拟机中

点击下一步按钮,进行下一步操作

安装系统过后需要账号登陆,这里需要创建一个用户ljc1,密码l  (ljc1和root都用使用此密码)

建立虚拟机操作系统需要虚拟机名称,名称CentOS7_LJC_100,简单易懂

  

你能给这个虚拟机操作系统多大的存储空间,默认20G,需要修改也可以

一些基础的硬件设备已经定义好了,其他的系统会默认帮你选择;如果还需要其他自定义硬件的话,单击自定义硬件按钮,在里面设置

创建完成后,会自动打开此操作系统,因为上一步勾选了创建后开启此虚拟机的复选框,打开会一点慢,稍等一会就好

 

不要点击任何按钮,因为之前已经创建好用户ljc1,密码为l,root账号密码为l

系统第一次加载过程有点慢,稍等一会

  系统加载太慢了,那么先确定网卡是否已启动,我这里是没有启动的

 右击网卡,在出现的快捷菜单中选择启用命令,把VMnet1和VMnet8都启动

设置VMnet8的网卡地址,因为虚拟机操作系统需要设置静态地址,需要和外网进行链接

就需要设置网卡地址

 

网卡地址设置好了,但需虚拟机和网卡不接触是不行的,就需要设置虚拟网络编辑器,在虚拟机中单击编辑菜单,选择虚拟网络编辑器命令

进入发现什么都改变不了,需要点击更改设置按钮

按照下面图中的设置进行勾选,勾选将主机适配器连接此网络复选框

安装Xshell软件,并使用此软件

点击是按钮,后面如何会继续提示出安装失败,再点击是按钮,会安装插件

下面图片中显示xshell正在安装

 

点击ok按钮,如果不行的话,点击关闭按钮,

再点击右上角的关闭按钮,继续安装(不要点击其他按钮,否则需要重新来一遍)

这就和常规的软件安装一样了,点击下一步按钮,继续操作

  

  

显示到这一步,xshell就安装完成了

在虚拟机中以root账号登陆操作系统

点击not listed?按钮,输入root用户名和密码l进行登录

登录成功会进入以下界面

修改操作系统的网卡地址输入以下命令进行执行(在虚拟中必须手写,除非安装VMware tools)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

 修改以下几个配置,修改成如下界面               输入以下命令,并执行

BOOTPROTO="static"

IPADDR=192.168.10.100

GATEWAY=192.168.10.2

DNS1=192.168.10.2

如果不修改主机名,主机名会默认,不是我们想要的主机名,修改主机名

vim /etc/hostname

 

修改hosts文件,建立映射关系

vim /etc/hosts

在后面追加映射关系

192.168.10.100 ljc100

192.168.10.101 ljc101

192.168.10.102 ljc102

192.168.10.103 ljc103

192.168.10.104 ljc104

以上一些配置需要重启才能生效,重启虚拟机中的系统

修改物理机上的hosts的文件,建立hosts主机上的映射关系

在Windows中打开路径为C:\Windows\System32\drivers\etc

192.168.10.100 ljc100

192.168.10.101 ljc101

192.168.10.102 ljc102

192.168.10.103 ljc103

192.168.10.104 ljc104

安装过后xshell软件,点击文件菜单,选择新建命令,弹出新建会话属性对话框

单击连接选项卡,在名称的文本框中输入ljc100,会看到主机的文本框会自动填充ljc100

单击用户身份验证选项卡,在用户名的文本框中输入ljc100,在密码的文本框中输入l

输入完成后,点击连接按钮进行连接

连接成功后,会弹出下面的对话框,如果没成功,不会提出,代表你的速度很快,虚拟中的操作系统没有重启好,等待操作系统重启好,点击文件菜单,选择重新连接命令

点击接受并保存按钮

以上配置成功后,会进入以下界面

以root账号安装epel-release(EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。) 输入以下命令,并执行

[root@ljc100 ~]# yum install -y epel-release

 

 

关闭防火墙,关闭防火墙开机自启    输入以下命令,并执行

[root@ljc100 ~]# systemctl stop firewalld

[root@ljc100 ~]# systemctl disable firewalld.service

配置ljc1用户具有root权限

[root@ljc100 ~]# vim /etc/sudoers

## Allows people in group wheel to run all commands

%wheel  ALL=(ALL)       ALL

ljc1    ALL=(ALL)       NOPASSWD:ALL

在/opt/下创建2个目录,并修改所有者和所在组

[root@ljc100 ljc1]# cd /opt

[root@ljc100 opt]# mkdir module/ software/

[root@ljc100 opt]# chown ljc1:ljc1 module/ software/

 

卸载虚拟机自带JDK

[root@ljc100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e –nodeps

配置模板完成后,重启操作系统

 

2. 克隆虚拟机并配置网络

关闭虚拟机中的操作系统,进行克隆

以CentOS_LJC_100为模板虚拟机,克隆三台虚拟机,分别为:

CentOS_LJC_102、CentOS_LJC_103、CentOS_LJC_104

 

 

 

 

 

 

 

 

 

克隆完成后,可以看到以下界面,虚拟机一共有四个操作系统

 

 CentOS_LJC_100为模板虚拟机,就不需要开启了,开启CentOS_LJC_102操作系统

点击CentOS_LJC_102操作系统,点击开启此虚拟机按钮进行开启

开启CentOS_LJC_103 CentOS_LJC_104操作系统

点击CentOS_LJC_103 CentOS_LJC_104操作系统,点击开启此虚拟机按钮进行开启

以root账户登陆 配置CentOS_LJC_102的IP

[root@ljc102 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改:

IPADDR=192.168.10.102

修改CentOS_LJC_102的主机名称

[root@ljc102 ~]# vim /etc/hostname

由ljc100改为:

ljc102

重启虚拟机

[root@ljc102 ~]# reboot

CentOS_LJC_103、CentOS_LJC_104操作步骤同上

完成操作后,使用xshell远程连接ljc102、ljc103、ljc104

 

复制执行如下命令在各个操作系统上

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 
 

3. JDK、Hadoop安装

以普通用户ljc1账户登陆

使用lrzsz上传Hadoop和JDK至ljc102下的/opt/software/目录下

[root@ljc102 ~]$ exit

[ljc1@ljc102 ~]$ cd /opt/software/

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的jdk文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的hadoop文件,点击打开按钮,上传)

 

上传成功会出现以下界面

解压JDK和解压Hadoop并指定目录

[ljc1@ljc102 software]$ tar -zxvf jdk-8u321-linux-x64.tar.gz -C /opt/module/

[ljc1@ljc102 software]$ tar -zxvf hadoop-3.2.2.tar.gz -C /opt/module/

 

配置JDK和hadoop环境变量

[ljc1@ljc102 ~]$ sudo vim /etc/profile.d/my_env.sh

添加

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_321

export PATH=$PATH:$JAVA_HOME/bin

在末尾添加

#HADOOP_HOME

export HADOOP_HOME=/opt/module/hadoop-3.2.2

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

使修改后的文件生效

[ljc1@ljc102 ~]$ source /etc/profile

测试JDK是否安装成功

[ljc1@ljc102 ~]$ java -version

测试Hadoop是否安装成功

[ljc1@ljc102 ~]$ hadoop version

4. Hadoop完全分布式配置

在ljc102上以普通用户ljc1登陆

在ljc102把ljc102的/opt/module/jdk1.8.0_321目录拷贝到ljc103

[ljc1@ljc102 software]$ scp -r /opt/module/jdk1.8.0_321  ljc1@ljc103:/opt/module

如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

在ljc103上以普通用户ljc1登陆

在ljc103把ljc102的/opt/module/hadoop-3.2.2目录拷贝到ljc103

  如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc103 ~]$ scp -r ljc1@ljc102:/opt/module/hadoop-3.2.2 /opt/module/

在ljc103把ljc102的/opt/module目录下的所有目录拷贝到ljc104

如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc103 ~]$ scp -r ljc1@ljc102:/opt/module/* ljc1@ljc104:/opt/module

上传集群分发脚本xsync

在ljc102上以普通用户ljc1  登陆新建目录bin

 [ljc1@ljc102 software]$ cd

[ljc1@ljc102 ~]$ mkdir bin

[ljc1@ljc102 ~]$ cd bin/

[ljc1@ljc102 bin]$ cd

上传文件脚本文件jpsall myhadoop.sh xsyncbin文件夹中

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的jpsall文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的myhadoop.sh文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的xsync文件,点击打开按钮,上传)

 

 

 

 以上配置成功,就会显示以下界面

使脚本 xsync 具有执行权限

 [ljc1@ljc102 bin]$ chmod +x xsync myhadoop.sh jpsall

 

同步分发/home/ljc1/bin至ljc103、ljc104

如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc102 bin]$ cd ..

[ljc1@ljc102 ~]$ xsync bin/

可以在ljc103、ljc104上查看运行结果

[ljc1@ljc103 ~]$ cd

[ljc1@ljc103 ~]$ ll bin/

 

可以在ljc103、ljc104上查看运行结果

[root@ljc104 ljc1]# su ljc1

[ljc1@ljc104 ~]$ cd

[ljc1@ljc104 ~]$ ll bin/

 

在ljc102上以普通用户ljc1登陆

分发环境变量

[ljc1@ljc102 ~]$ sudo ./bin/xsync /etc/profile.d/my_env.sh

 

在ljc103、ljc104上分别使修改后的文件生效

[ljc1@ljc103 ~]$ source /etc/profile

[ljc1@ljc104 ~]$ source /etc/profile

 

在ljc103上分别查看java软件安装

测试JDK是否安装成功

[ljc1@ljc103 ~]$ java -version

在ljc104上分别查看hadoop软件安装

测试Hadoop是否安装成功

[ljc1@ljc104 ~]$ hadoop version

5.SSH免密登录配置

在ljc102上以普通用户ljc1登陆

cd 回到家目录

在ljc102上生成私钥和公钥

        生成公钥,不要任何配置,回车、回车、回车即可

[ljc1@ljc102 ~]$ ssh-keygen -t rsa

在ljc102上将公钥拷贝到要免密登录的目标机器

        如果出现yes/no 就输入yes

        需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc102 ~]$ ssh-copy-id ljc102

[ljc1@ljc102 ~]$ ssh-copy-id ljc103

[ljc1@ljc102 ~]$ ssh-copy-id ljc104

生成公钥,不要任何配置,回车、回车、回车即可

        如果出现yes/no 就输入yes

        需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

 生成公钥,不要任何配置,回车、回车、回车即可

        

        如果出现yes/no 就输入yes

        需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

  生成公钥,不要任何配置,回车、回车、回车即可

        如果出现yes/no 就输入yes

        需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

 生成公钥,不要任何配置,回车、回车、回车即可

        如果出现yes/no 就输入yes

        需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

6.集群配置

在ljc102上以普通用户ljc1登陆

exit 退出root账户

进入hadoop目录

[root@ljc102 ljc1]# exit

[ljc1@ljc102 ~]$ cd /opt/module/hadoop-3.2.2/etc/hadoop/

删除配置文件core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml

rm -rf core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml

上传配置文件core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml到此文件夹下

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的core-site.xml文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的hdfs-site.xml文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的yarn-site.xml文件,点击打开按钮,上传)

上传文件(输入rz命令,执行(enter)弹出窗口,选择已安装好的mapred-site.xml文件,点击打开按钮,上传)

 

分发配置文件

如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc102 hadoop]$ cd ..

[ljc1@ljc102 etc]$ xsync hadoop/

7.编写Hadoop集群脚本

在ljc102上以普通用户ljc1登陆

配置workers

[ljc1@ljc102 ~]$ vim /opt/module/hadoop-3.2.2/etc/hadoop/workers

清除原有内容,写入:

ljc102

ljc103

ljc104

同步所有节点配置文件

如果出现yes/no 就输入yes

需要输入密码就输入密码l(root和普通用户帐户的密码一样的是l)

[ljc1@ljc102 ~]$ xsync /opt/module/hadoop-3.2.2/etc

 

8.启动集群

在ljc102上以普通用户ljc1登陆

集群第一次启动前,需要在ljc102节点格式化NameNode

[ljc1@ljc102 ~]$ hdfs namenode -format

  

启动集群(三台虚拟机任意一台都可以运行)

[ljc1@ljc102 ~]$ myhadoop.sh start

查看三台服务器Java进程

[ljc1@ljc102 ~]$ jpsall

输入ljc102:9870 查看集群信息

  

 

输入ljc103:8088/cluster查看集群的配置

猜你喜欢

转载自blog.csdn.net/weixin_53645521/article/details/124945218