linux centos 7 搭建hadoop2.7.7完全分布式

此搭建过程通过xshel远程连接操作

ssh免密登录 zookeeper搭建 请查看本专栏的 其他文章

本文中使用的 xshell xftp 本人均已经上传至 资源专栏中

节点 名称与 ip 与集群规划

这里搭建一个 3 节点的 Hadoop 集群,其中三台主机均部署 DataNode 和 NodeManager 服务,但其中 slave1 上部署 SecondaryNameNode服务 master 上部署 NameNode 、 ResourceManager 和JobHistoryServer 服务。

master192.168.116.200Namenode DataNode  ResourceManager Nodemanager JobHistoryServer
slave1192.168.116.201SecondaryNamenode DataNode Nodemanager
slave2192.168.116.202DataNode Nodemanager

1.下载hadoop2.7.7压缩包 通过xftp上传/opt下

Index of /dist/hadoop/core/hadoop-2.7.7  hadoop2.7.7下载链接

2解压 (/opt)到/usr/local/src目录下

tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local/src/

3.配置hadoop环境变量添加如下内容

vi /etc/profile

export HADOOP_HOME=/usr/local/src/hadoop-2.7.7
export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.7/etc/hadoop

4.将环境变量配置文件发送到其他节点

scp /etc/profile root@slave1:/etc
scp /etc/profile root@slave2:/etc

5.先创建好配置文件所需目录

mkdir /usr/local/src/hadoop-2.7.7/tmp
mkdir -p /usr/local/src/hadoop-2.7.7 /dfs/namenode_data
mkdir -p /usr/local/src/hadoop-2.7.7 /dfs/datanode_data
mkdir -p /usr/local/src/hadoop-2.7.7 /checkpoint/dfs/cname

6.配置文件

到/usr/local/src/hadoop-2.7.7 /etc/hadoop下

cd /usr/local/src/hadoop-2.7.7/etc/hadoop

vi hadoop-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_162
export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.7/etc/hadoop
vi core-site.xml

<configuration>
        <property>
            <!--用来指定hdfs的老大,namenode的地址-->
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>  
        <property>
            <!--用来指定hadoop运行时产生文件的存放目录-->   
            <name>hadoop.tmp.dir</name>
            <value>file:///usr/local/src/hadoop-2.7.7/tmp</value>
        </property>
        <property>
            <!--设置缓存大小,默认4kb-->
            <name>io.file.buffer.size</name>
            <value>4096</value>
        </property>
</configuration>
vi hdfs-site.xml

<configuration>
        <property>
           <!--数据块默认大小128M-->
           <name>dfs.block.size</name>
           <value>134217728</value>
        </property>
        <property>
            <!--副本数量,不配置的话默认为3-->
            <name>dfs.replication</name> 
            <value>3</value>
        </property>
        <property>
            <!--定点检查--> 
            <name>fs.checkpoint.dir</name>
            <value>file:///usr/local/src/hadoop-2.7.7/checkpoint/dfs/cname</value>
        </property>
        <property>
            <!--namenode节点数据(元数据)的存放位置-->
            <name>dfs.name.dir</name> 
            <value>file:///usr/local/src/hadoop-2.7.7/dfs/namenode_data</value>
        </property>
        <property>
            <!--datanode节点数据(元数据)的存放位置-->
            <name>dfs.data.dir</name> 
            <value>file:///usr/local/src/hadoop-2.7.7/dfs/datanode_data</value>
        </property>
        <property>
            <!--指定secondarynamenode的web地址-->
            <name>dfs.namenode.secondary.http-address</name> 
            <value>slave1:50090</value>
        </property>
        <property>
            <!--hdfs文件操作权限,false为不验证-->
            <name>dfs.permissions</name> 
            <value>false</value>
        </property>
</configuration>
vi mapred-site.xml

<configuration>
        <property>  
            <!--指定mapreduce运行在yarn上-->
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <!--配置任务历史服务器IPC-->
            <name>mapreduce.jobhistory.address</name>
            <value>master:10020</value>
        </property>
        <property>
            <!--配置任务历史服务器web-UI地址-->
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>master:19888</value>
        </property>
</configuration>
vi yarn-site.xml

<configuration>
        <property>
            <!--指定yarn的老大resourcemanager的地址-->
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8032</value>
        </property>
        <property>
            <name>yarn.resourcemanager.webapp.address</name>
            <value> master:8088</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value> master:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value> master:8031</value>
        </property>
        <property>
            <name>yarn.resourcemanager.admin.address</name>
            <value> master:8033</value>
        </property>
        <property>
            <!--NodeManager获取数据的方式-->
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <!--开启日志聚集功能-->
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>
        <property>
            <!--配置日志保留7天-->
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>604800</value>
        </property>
</configuration>
vi slaves

master
slave1
slave2

7.将配置分发给其他节点(回到/usr/local/src 目录下)

scp -r hadoop-2.7.7/ root@slave1:/usr/local/src
scp -r hadoop-2.7.7/ root@slave2:/usr/local/src

8.

(注:通过web主备登录,还得添加如下操作)

在window操作系统中,从“C:\Windows\System32\drivers\etc”目录中,找到hosts文件。

右击,打开(可能需要“系统管理员打开”)。将以下内容写到文件中:

192.168.116.200 master
192.168.116.201 slave1
192.168.116.202 slave2

9.初始化namenode(在master上)

hdfs namenode -format

10.启动集群(master)

# 启动dfs服务

start-dfs.sh

# 启动yarn服务

start-yarn.sh

# 启动任务历史服务器

mr-jobhistory-daemon.sh start historyserver

11.访问web

打开浏览器 地址栏输入 master:9000 就可以啦

至此 hadoop2.7.7完全分布式搭建完毕

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值