CentOS 7 安装 Hadoop2.7.1

Linux就该这么学

1.下载 jdk 1.8和Hadoop2.7.1,解压放到 /home/ 目录

2.配置 jdk 1.8和Hadoop2.7.1 环境变量

3.配置每台主机IP并修改每台主机的主机名,修改 hosts 文件 IP和主机名一一映射 

master 10.0.0.44 

host1 10.0.0.43 

host2 10.0.0.42

4.关闭每台主机的防火墙,并设置开机不自启

5.设置SSH 免密码登录,因为Hadoop需要登录到每个节点进行操作

(1) CentOS去掉 /etc/ssh/sshd_config 其中的两行注释(每台主机都要)

# RSAAuthentication yes
# PubkeyAuthentication yes

(2) 输入命令ssh-keygen -t rsa生成key,都不输入密码,一直回车,/root就会生成 .ssh文件夹(每台主机都要)  (3) 合并公钥到authorized_keys文件,在master服务器,进入 /root/.ssh目录,通过SSH命令合并

cat id_rsa.pub>> authorized_keys
ssh root@10.0.0.43 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@10.0.0.42 cat ~/.ssh/id_rsa.pub>> authorized_keys

(4) 把master服务器的authorized_keys、known_hosts复制到其他两个服务器的 /root/.ssh目录  (5) 完成后,SSH 登录就不用输入密码

6.配置Hadoop(只在主机配置,其他直接复制就可以)  (1) 配置hadoop-2.7.1/etc/hadoop 目录下的core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
//Hadoop的临时目录,其它目录会基于此路径。本地目录。
    <name>hadoop.tmp.dir</name> 
    <value>file:/home/hadoop-2.7.1/tmp</value>
</property>
<property>
//在读写文件时使用的缓存大小。这个大小应该是内存Page的倍数。
    <name>io.file.buffer.size</name>
    <value>131702</value>
</property>

(2) 配置hadoop-2.7.1/etc/hadoop 目录下的hdfs-site.xml

<property>
//本地磁盘目录,NN存储fsimage文件的地方
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop-2.7.1/dfs/name</value>
</property>
<property>
//本地磁盘目录,HDFS数据应该存储Block的地方
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop-2.7.1/dfs/data</value>
</property>
<property>
//数据块副本数
    <name>dfs.replication </name>
    <value>3</value>
</property>
<property>
// SNN的http服务地址。如果是0,服务将随机选择一个空闲端口。
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
</property>
<property>
//在NN和DN上开启WebHDFS (REST API)功能。
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
</property>

(3) 配置hadoop-2.7.1/etc/hadoop 目录下的mapred-site.xml

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

(4) 配置hadoop-2.7.1/etc/hadoop 目录下的yarn-site.xml

<property>
//请配置为:mapreduce_shuffle,在Yarn上开启MR的必须项
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<propert>

    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
// RM地址:端口
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</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>
// RM管理接口地址:端口
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
</property>
<property>
// RM的网页接口地址:端口
    <name>yarn.resourcemanager.webapp.address </name>
    <value> master:8088</value>
</property>
<property>
// NM上可以用于container申请的物理内存大小,MB
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value> 5120</value>
</property>

(5) 配置hadoop-2.7.1/etc/hadoop 目录下的hadoop-env.sh 、yarn-env.sh 、mapred-env.sh  配置JAVA_HOME路径  (6) 配置hadoop-2.7.1/etc/hadoop 目录下的slaves 文件,添加从服务器  master  host1  host2

(7) scp –r 拷贝到所有从服务器  (8) 安装目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name  (9) Hadoop相关参数详解https://segmentfault.com/a/1190000000709725

7.主服务器上执行bin/hdfs namenode –format 进行初始化(格式化)

8.sbin 目录下执行 ./start-all.sh 启动 jps 查看信息 ./stop-all.sh 停止

9.浏览器打开master:8088和master:50070查看信息

本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注