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技术 对观点赞同或支持。如需转载,请注明文章来源。