Hadoop3.3.1完全分布式安装Centos7.x

目录

一、准备文件

二、环境准备(安装CentOS7)

三、主机基本设置

关闭防火墙(两个都关)

修改主机名和从机名(改为Master和Slave1)

创建用户(Master和Slave1都创建)

创建目录

配置当前非root用户具有root的权限

        ssh免密登录

        将jdk和hadoop安装包传到虚拟机(主从机)(使用winSCP)

 四、JDK的安装

卸载系统自带的JDK(主机从机都卸载)

五、安装 Hadoop 3.3.1

                配置PATH变量

六、配置集群/分布式环境

(1)修改文件workers

(2)修改文件

(3)修改文件hdfs-site.xml

(4)修改文件mapred-site.xml

(5)修改文件 yarn-site.xml

七、将hadoop分发到slave1节点


 

一、准备文件

所用到  Hadoop3.3.1 、 JDK1.8_271 、CentOs7.x、xshell、winSCP

http://链接: https://pan.baidu.com/s/1nT0O3F0D65Y5QrrY9qHpxQ?pwd=2agi 提取码: 2agi 复制这段内容后打开百度网盘手机App,操作更方便哦

二、环境准备(安装CentOS7)

打开下载安装好的VMware  Workstation

点击做左上角的文件->新建虚拟机->点击下一步

19f9072f96f14be7b316c5b563bcf4da.png

 浏览选择下载好的CentOS7->下一步->

8bf71752b5944bae85446d52f356ebcf.png

 名称Master,位置自己选择一个喜欢的目录->下一步

483b6b553e3c4024858d0deac81dc4e0.png

 选择自己需要的大小,和储存方式->下一步->完成

安装时出现的界面点enter就行

81c7e573effb4c7599f0fb72abcbd399.png

选择自己喜欢的语言,我这里选的是中文简体

选择好点击继续(下面配置网络比较重要)

 8c33bfd4284f43d894d264b713413f7a.png

 安装位置选择

2fc38f5df5fa48eb9e3b4177801d63de.png

 刚刚分配的20GB磁盘,点击完成

点击网络和主机(比较重要)

dc06a865830b4214a6177faef7208c44.png

点击右边的打开,就会自动获取p地址(记住这个ip),并显示已连接,如果没链接成功,建议检查虚拟机设置,避免后面的麻烦。

 然后点击完成->开始安装

906342738b1a4da9b4add0494367b5c8.png

点击设置一个root密码,等待安装完成(泡杯枸杞喝,别整电脑上)

安装完成后点重启

完整完成

这里搭建一主一从,一主多从(类似)

关闭虚拟机, 选择克隆-.下一步->下一步

b55c93d5203d414bbbf9f85221a8c56b.png

 

4a048e75718749acacef0ac4a82b5814.png

 选择自己喜欢的路径点击完成(如果选择了完全克隆时间可能长一点)

完成后启动master和slave1 

查看master 和 slave1的ip    

ip add

使用xshell 链接虚拟机进行操作(为了方便操作),使用winSCP链接虚拟机(传文件用),

连接好下面在xshell里面进行操作。

三、主机基本设置

  • 关闭防火墙(两个都关

# 在root用户下执行
systemctl stop firewalld
systemctl disable firewalld.service
  • 更新源(两个都更新)

我们在下载软件时,可能会因为网络原因而下载失败,因此我们选择更新软件源,输入以下命令更新软件源:

yum -y update # 更新源
  • 修改主机配置文件

vi /etc/hosts
 
# 添加以下内容
192.168.94.132 Master
192.168.94.133 Slave1
  • 修改主机名和从机名(改为Master和Slave1)

# 使用以下的命令
vi /etc/hostname
  • 创建用户(Master和Slave1都创建)

# 2、创建用户,在root用户下
useradd hadoop
passwd hadoop
  • 创建目录

cd /usr/local
 
# 存放安装好的软件
mkdir server
 
# 存放安装包
mkdir software 
 
# 给server和software授权 
chown -R hadoop:hadoop ./server
chown -R hadoop:hadoop ./software
 
# 其他两个节点做以上相同的操作
  • 配置当前非root用户具有root的权限

vi /etc/sudoers
 
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
hadoop  ALL=(ALL)       ALL
  • ssh免密登录

# 在命令行输入,根据提示输入密码即可
ssh localhost
 
# 切换到~/.ssh目录下
cd ~/.ssh
 
# 输入以下命令,期间连续按三次回车
ssh-keygen -t rsa
 
# 分发密钥,期间在输入密码即可免密登录
ssh-copy-id Master
ssh-copy-id Slave1 
 
# 三个节点依次按照以上命令操作,再次输入ssh 相应的主机名,已经不需要密码登录master、slave1、slave2节点了

#在Msater 主机下输入  
ssh Slave1

#在Slave1下输入ssh Master


#如果不需要输入密码,则成功
#不成功重启机器,重新设置免密登录,或者检查前面设置的主机名,和地址
  • 将jdk和hadoop安装包传到虚拟机(主从机)(使用winSCP)

66a26c590f8240398dadc39d8bd0a0d8.png

 四、JDK的安装

  • 卸载系统自带的JDK(主机从机都卸载)

# 查看系统自带的jdk
rpm -qa | grep jdk
 
#没有内容则跳过下面的操作
# 卸载找到的jdk
yum -y remove 找到的jdk
 
# 或者使用以下的命令删除
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
  • 安装JDK(主从机)

第一步,执行下面命令进入hadoop用户

su hadoop

第二步,执行以下命令解压缩JDK文件(注意:当前登录用户名是hadoop),如下所示:

cd /usr/local/software  # 进入存放软件的目录
sudo mkdir -p /usr/lib/jvm # 创建/usr/lib/jvm目录用来存放JDK文件
sudo tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/lib/jvm # 把JDK文件解压到/usr/lib/jvm目录下

c9d30aec47e2488684b39fccbc10fdc2.png

 JDK 文件解压成功后,可以执行以下命令进行查看:
 

cd /usr/lib/jvm # 进入/usr/lib/jvm目录下
ls #查看当前目录(即/usr/lib/jvm)的文件

2b1ce7ca62aa4259a65a6398d59020e9.png

可以看到,/usr/lib/jvm 目录下有一个 jdk1.8.0_131 目录

第三步,执行以下命令配置环境变量(注意:当前登录用户名是 hadoop),如下所示:

cd ~ # 进入用户家目录,注意:~ 等价于 /home/hadoop
sudo vi ~/.bash_profile # 编辑当前hadoop用户的环境变量配置文件(该文件只影响当前用户)


打开文件后,在文件末尾处添加以下内容( jdk 版本根据个人安装版本进行填写),保存并退出:

[hadoop@Master ~]$ sudo vi ~/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH


export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_271
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
~                                                                                                        
"/home/hadoop/.bash_profile" 12L, 193C


继续执行以下命令使环境变量配置生效:

source ~/.bash_profile


然后可以执行以下命令查看是否安装成功:

java -version

6b747e11305341c7bfe39df25b7d258f.png
如果屏幕上返回如下信息,则说明安装成功:

五、安装 Hadoop 3.3.1

第二步,执行以下命令解压缩 hadoop3.3.1 文件(注意:当前登录用户名是 hadoop),如下所示:

cd /usr/local/software   #进入安装包目录
sudo tar -zxf hadoop-3.3.1.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/ # 进入/usr/local目录下                     
sudo mv ./hadoop-3.3.1/ ./hadoop # 将hadoop-3.3.1文件夹名改为hadoop
sudo chown -R hadoop ./hadoop # 修改文件权限

Hadoop 解压后即可使用,输入以下命令检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

cd /usr/local/hadoop # 进入/usr/local/hadoop目录
./bin/hadoop version # 查看hadoop版本信息

05828a38a77b472fb08b6c1fa891ba2c.png

 配置PATH变量

这样就可以在任意目录中直接使用hadoop、hdfs等命令了。如果还没有配置PATH变量,那么需要在Master节点上进行配置。 首先执行命令“vi ~/.bashrc”,也就是使用vi编辑器打开“~/.bashrc”文件,然后,在该文件最上面的位置加入下面一行内容:

export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

保存后执行命令“source ~/.bashrc”,使配置生效。

六、配置集群/分布式环境

在配置集群/分布式模式时,需要修改“

cd /usr/local/hadoop/etc/hadoop

”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个文件,更多设置项可查看官方说明。

 

(1)修改文件workers

需要把所有数据节点的主机名写入该文件,每行一个,默认为 localhost(即把本机作为数据节点),所以,在伪分布式配置时,就采用了这种默认的配置,使得节点既作为名称节点也作为数据节点。在进行分布式配置时,可以保留localhost,让Master节点同时充当名称节点和数据节点,或者也可以删掉localhost这行,让Master节点仅作为名称节点使用。

vi workers

本教程让Master节点仅作为名称节点使用,因此将workers文件中原来的localhost删除,只添加如下一行内容:

Slave1

(2)修改文件

vi core-site.xml

请把core-site.xml文件(<configuration>标签) 改为下面的内容)修改为如下内容:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>

(3)修改文件hdfs-site.xml

对于Hadoop的分布式文件系统HDFS而言,一般都是采用冗余存储,冗余因子通常为3,也就是说,一份数据保存三份副本。但是,本教程只有一个Slave节点作为数据节点,即集群中只有一个数据节点,数据只能保存一份,所以 ,dfs.replication的值还是设置为 1。hdfs-site.xml具体内容如下:

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

(4)修改文件mapred-site.xml

“/usr/local/hadoop/etc/hadoop”目录下有一个mapred-site.xml.template,需要修改文件名称,把它重命名为mapred-site.xml,然后,把mapred-site.xml文件配置成如下内容:

<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</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>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property> 
</configuration>

(5)修改文件 yarn-site.xml

 

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

上述5个文件全部配置完成以后,需要把Master节点上的“/usr/local/hadoop”文件夹复制到各个节点上

七、将hadoop分发到slave1节点

Master节点上执行如下命令:

cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop   # 先压缩再复制
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop

然后在Slave1节点上执行如下命令:

sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop

现在就可以启动Hadoop了,启动需要在Master节点上进行,执行如下命令:

hdfs namenode -format
start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver

通过命令jps可以查看各个节点所启动的进程。如果已经正确启动

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信仰-xinyang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值