CentOS 7 安装 Hadoop2.7.1

来源:互联网 发布:java采购管理系统 编辑:程序博客网 时间:2024/05/23 00:58

CentOS 7 安装 Hadoop2.7.1

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_keysssh root@10.0.0.43 cat ~/.ssh/id_rsa.pub>> authorized_keysssh 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查看信息

1 0