Centos7jdk8安装&Hadoop真分布式集群搭建
LYT
首页
分类
标签
项目
留言
友链
关于

Centos7jdk8安装&Hadoop真分布式集群搭建

2022年4月14日0时27分
2022年4月14日14时18分
运维&&linux
linux&&运维
浏览量:
总浏览量:
0

准备工作

先创建一个虚拟机,系统为centos7,然后下载xshell for school,直接去官网下载就ok,学生版免费用。 1f407ee9-0083-4c08-a8e9-44c6b2086227.001 安装完成输入 ip a命令查看ip地址,然后通过xshell连接虚拟机。

  ip a

1f407ee9-0083-4c08-a8e9-44c6b2086227.002 新建会话,连接你的虚拟机 1f407ee9-0083-4c08-a8e9-44c6b2086227.003 1f407ee9-0083-4c08-a8e9-44c6b2086227.004 然后输入用户名,密码。 1f407ee9-0083-4c08-a8e9-44c6b2086227.005 1f407ee9-0083-4c08-a8e9-44c6b2086227.006

1. 在Linux上安装JDK:

查看已安装的jdk文件:

rpm -qa | grep java

1f407ee9-0083-4c08-a8e9-44c6b2086227.007 卸载本地的jdk,删除带有java-xxx的文件名

rpm -e --nodeps 文件名(复制即可)

然后敲命令 getconf LONG_BIT获取系统是64还是32位

getconf LONG_BIT

1f407ee9-0083-4c08-a8e9-44c6b2086227.008 下载对应的版本,后缀为.tar.gz,并用xftp上传到/usr/local/jdk里面,也可以选择其他路径 1f407ee9-0083-4c08-a8e9-44c6b2086227.009 直接拖拽 1f407ee9-0083-4c08-a8e9-44c6b2086227.010 然后回到xshell使用tar -zxvf 文件名 命令解压,然后使用命令 ll 查看文件目录 1f407ee9-0083-4c08-a8e9-44c6b2086227.011

此时安装完成,但是还需要配置环境变量,使用命令cd jdk-xxx进入文件夹,然后使用命令 pwd 获取当前路径

cd jdk-xxx
 pwd

1f407ee9-0083-4c08-a8e9-44c6b2086227.012 使用命令 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补全 1f407ee9-0083-4c08-a8e9-44c6b2086227.013

1f407ee9-0083-4c08-a8e9-44c6b2086227.014 保存并退出,然后刷新资源

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安装成功!

2. hadoop集群的部署

真分布式集群的部署需要至少三台虚拟机,这里不用再创建,直接克隆虚拟机就好。先把机器关机然后再右键克隆。 1f407ee9-0083-4c08-a8e9-44c6b2086227.016

1f407ee9-0083-4c08-a8e9-44c6b2086227.017

1f407ee9-0083-4c08-a8e9-44c6b2086227.018

然后点击完成,并将母机改名成master,克隆的机器改为slave1,再克隆一个名字改为slave2,然后将slave1,slave2通过xshell连接

1f407ee9-0083-4c08-a8e9-44c6b2086227.019

刚才改名是改的VMware虚拟机名字,现在要改centos7主机名,以master做示范

vim /etc/hostname

删除原本的信息改成master保存并退出

reboot

重启虚拟机 1f407ee9-0083-4c08-a8e9-44c6b2086227.020 修改成功!!! 在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操作一样

然后根据提示操作 1f407ee9-0083-4c08-a8e9-44c6b2086227.021

测试一下连通性

1f407ee9-0083-4c08-a8e9-44c6b2086227.022 连接成功

用命令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

1f407ee9-0083-4c08-a8e9-44c6b2086227.024

修改 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

有以下信息代表启动成功! 1f407ee9-0083-4c08-a8e9-44c6b2086227.025 如果缺少nameNode,用以下命令!!

stop-dfs.sh
hadoop namenode -format
start-dfs.sh

然后在window10本地访问master:9870,如果不能访问,关闭防火墙,或者开放端口! 1f407ee9-0083-4c08-a8e9-44c6b2086227.026 至此hadoop部署完成