hadoop完全分布式安装教程

1 网络配置

如果是配虚拟机,记得到计算机管理—》服务,打开以下服务,要不然上不了网。

1.1编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=ef14485b-10d0-4b42-ae97-c1776f696d7b
DEVICE=ens33
ONBOOT=yes

IPADDR=192.168.88.10
PREFIX=24
GATEWAY=192.168.88.2
DNS1=223.5.5.5

1.2 重启网络服务

Service network restart

2 时间同步

参考博客:https://blog.csdn.net/zisefeizhu/article/details/81535299

2.1安装时间同步工具ntp : yum install –y ntp

改变时区 :

rm –rf /etc/localtime
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

同步时间 :
/usr/sbin/ntpdate –u cn.pool/ntp.org
自动同步时间 :
vim /etc/crontab(针对root用户) 或 crontab –e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org

3 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

4 配置主机名

4.1 关于本机设置主机名

[root@master ~]# vim /etc/sysconfig/network
配置信息如下

NETWORKING=yes #启动网络
HOSTNAME=master  #主机名
[root@localhost ~]# vim /etc/hostname 
master

4.2 将主机名立即生效

[root@localhost ~]# hostname master

之后重启永久有效

5 配置主机名IP地址映射文件/etc/hosts

[root@centos01 ~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.88.10 centos01
192.168.88.11 centos02
192.168.88.12 centos03

6 安装JDK

6.1 新建目录/usr/java

[root@centos01 ~]# mkdir /usr/java

6.2 将JDK文件解压,放到/usr/java目录下

[root@centos01 java]# tar -zxvf /usr/java/jdk-8u201-linux-x64.tar.gz

6.3 设置环境路径

[root@centos01 java]# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_201/
export PATH=$JAVA_HOME/bin:$PATH

6.4 更新环境路径

[root@centos01 java]# source /etc/profile

7 免密登录设置

公钥用来加密,私钥用来解密。
要把所有机器的公钥都放在.ssh/authorized_keys文件里,并分享给所有机器,那么集群中机器就可以免密登录了

CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置,

#RSAAuthentication yes
#PubkeyAuthentication yes

7.1 Master节点上

7.1.1 生成公钥和秘钥文件

[root@localhost java]# ssh-keygen -t rsa

7.1.2 复制公钥文件

[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

7.1.3 设置公钥文件权限

[root@localhost .ssh]# chmod 600 authorized_keys

7.1.4 将slave节点传入的公钥添加到ssh/authorized_keys文件

[root@centos01 ~]# cat id_rsa01.pub >> .ssh/authorized_keys 
[root@centos01 ~]# cat id_rsa02.pub >> .ssh/authorized_keys  

7.1.5 将authorized_keys文件复制到其他节点

[root@localhost .ssh]# scp ~/.ssh/authorized_keys root@centos02:~/
[root@localhost .ssh]# scp ~/.ssh/authorized_keys root@centos03:~/

7.2 在slave节点上

7.2.1 生成公钥和秘钥文件

[root@localhost java]# ssh-keygen -t rsa

7.2.2 将生成的公钥传入master节点

[root@centos02 .ssh]# scp ~/.ssh/id_rsa.pub root@centos01:~/id_rsa01.pub
[root@centos03 .ssh]# scp ~/.ssh/id_rsa.pub root@centos01:~/id_rsa02.pub

7.2.3 将master节点上传来的公钥放入~/.ssh目录下

[root@localhost ~]# mv ~/authorized_keys ~/.ssh/

8 Hadoop安装

8.1 在/usr/目录下新建一个hadoop2.7.3的目录

[root@centos01 usr]# mkdir hadoop2.7.3
然后将hadoop压缩文件上传到/usr/hadoop2.7.3目录下。

8.2 解压hadoop

[root@centos01 hadoop-2.7.3]# tar -zxvf hadoop-2.7.3.tar.gz

然后就会到/usr/hadoop2.7.3/hadoop-2.7.3/目录下看到;

drwxr-xr-x. 2 root root   194 Aug 18  2016 bin
drwxr-xr-x. 3 root root    20 Aug 18  2016 etc
drwxr-xr-x. 2 root root   106 Aug 18  2016 include
drwxr-xr-x. 3 root root    20 Aug 18  2016 lib
drwxr-xr-x. 2 root root   239 Aug 18  2016 libexec
-rw-r--r--. 1 root root 84854 Aug 18  2016 LICENSE.txt
-rw-r--r--. 1 root root 14978 Aug 18  2016 NOTICE.txt
-rw-r--r--. 1 root root  1366 Aug 18  2016 README.txt
drwxr-xr-x. 2 root root  4096 Aug 18  2016 sbin
drwxr-xr-x. 4 root root    31 Aug 18  2016 share

8.3 配置环境变量hadoop-env.sh

环境变量文件中,只需要配置JDK的路径。

[lan@master ~]$ cd hadoop-2.7.1/etc/hadoop/
[lan@master hadoop]$ vim hadoop-env.sh 

在文件的靠前的部分找到下面的一行代码:
export JAVA_HOME=${JAVA_HOME}

将这行代码修改为下面的代码:
export JAVA_HOME=/usr/java/jdk1.8.0_101

然后保存文件。

8.4 配置环境变量yarn-env.sh

环境变量文件中,只需要配置JDK的路径。
[lan@master hadoop]$ vim yarn-env.sh

在文件的靠前的部分找到下面的一行代码:
# export JAVA_HOME=/home/y/libexec/jdk1.6.0/

将这行代码修改为下面的代码(将#号去掉):
export JAVA_HOME=/usr/java/jdk1.8.0_101

然后保存文件。

8.5 配置核心组件core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
      <property>
                <name>fs.defaultFS</name>
                <value>hdfs://centos01:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop2.7.3/hadoopdate</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131702</value>
        </property></configuration>

8.6 配置文件系统hdfs-site.xml

使用gedit编辑:
[lan@master hadoop]$ vim hdfs-site.xml

修改内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>centos01:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>

注意:其中产生的namenode镜像文件目录dfs.namenode.name.dir和datanode的dfs.datanode.data.dir目录和secondary namenode的dfs.namenode.checkpoint.dir目录默认都在core-site.xml配置的tmp文件夹下。系统默认配置了,不需要我们在配置。

8.7 配置文件系统yarn-site.xml

使用gedit编辑:
[lan@master hadoop]$ vim yarn-site.xml

修改内容如下:

<?xml version="1.0"?>

<configuration>
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>centos01:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>centos01:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>centos01:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>centos01:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>centos01:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1536</value>
    </property>
</configuration>

8.8 配置计算框架mapred-site.xml

复制mapred-site-template.xml文件:
[lan@master hadoop]$ cp mapred-site.xml.template mapred-site.xml

使用vim编辑:
[lan@master hadoop]$ vim mapred-site.xml

修改内容如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>centos01:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>centos01:19888</value>
        </property>
</configuration>

8.9 配置slaves文件

使用vim编辑:
[lan@master hadoop]$ vim slaves

用下面的代码替换slaves中的内容:

Centos02
Centos03

8.10 复制到从节点上

使用下面的命令将已经配置完成的Hadoop复制到从节点HadoopSlave上:

[rootcentos01 usr]$ scp -r hadoop-2.7.3 root@centos02:/usr/
[rootcentos01 usr]$ scp -r hadoop-2.7.3 root@centos03:/usr/

注意:因为之前已经配置了免密钥登录,这里可以直接远程复制。

8.11 启动hadoop集群

8.11.1格式化文件系统

[root@centos02 hadoop-2.7.3]# ./bin/hdfs namenode –format

8.11.2启动hadoop集群

[root@centos02 hadoop-2.7.3]# ./sbin/start-all.sh

执行命令后,提示出入yes/no时,输入yes。

8.12 查看进程

8.12.1在master节点

[root@centos02 hadoop-2.7.3]# jps
8486 Jps
8251 DataNode
8349 NodeManager
[root@centos02 hadoop-2.7.3]#

8.12.2在slave节点上

[root@centos03 ~]# jps
8320 NodeManager
8457 Jps
8222 DataNode

9查看web UI

官网上默认的端口
链接:https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/ClusterSetup.html#Web_Interfaces

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值