hadoop版本下载访问地址:http://mirrors.hust.edu.cn/apache/hadoop/common

搭建hadoop集群访问地址:https://blog.csdn.net/qq_32808045/article/details/76229157

1.准备(搭建集群所用到的软件及系统前期配置):

  1. 虚拟机 : VMware
  2. linux:CentOS 6.5 .vmx
  3. sun公司的 jdk : jdk1.8.0_131
  4. ssh : 安装ssh,并设置免密
  5. hadoop : hadoop-3.0.0-alpha4

把CentOS进行克隆,克隆出两个,这样我们就有三台Linux了。 
分别命名为: 
master 
node1 
node2

在root用户下运行,对主机名进行修改 :

hostname    // 查看当前系统主机名
vi /etc/sysconfig/network    // 进入文件
  • 1
  • 2

 
HSOTNAME的属性赋值为想要修改的主机名 master 

reboot    // 重启 即可完成更改
  • 1

其他两台主机分别命名为 node1,node2。

对三台主机进行地址映射 :

ifconfig    // 获取主机ip地址,为了完成映射
vi /etc/hosts    // 打开
  • 1
  • 2

添加地址映射 : 
 
这样我们就不用每次都敲ip了,直接主机名称就可以了。(当然另外两台都需要进行相同的配置)

2. ssh免密的配置

rpm –qa | grep ssh    // 验证ssh是否安装
yum install ssh -y    // 若无信息列出即未安装,则进行安装    
  • 1
  • 2

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa    // 在~/.ssh/下生成公钥/私钥对   -P '' 密码为空
  • 1

 
(randomart image看着也是挺有趣的。。。)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys    // 把公钥添加到authorzied_keys文件里
chmod 0600 ~/.ssh/authorized_keys    // 修改authorized_keys的权限
ssh localhost    // 验证ssh是否可以访问 
  • 1
  • 2
  • 3

验证ssh访问是否正常: 

把另外两台机器也配好了之后,就可以做三台机器之间的联通了 :

scp id_rsa.pub node1:~/.ssh/master_rsa.pub   // 把master公钥发给node1
  • 1

再转到node1上执行 :

cat ~/.ssh/master_rsa.pub >> ~/.ssh/authorized_keys    //把收到的公钥添加到文件中去
  • 1

node2 进行相同的步骤。(master的know_host文件中已经存在如节点node1的信息,以后连接都是免密的)。 
就是三台虚拟机都相互把各自的公钥都发一遍,这样在每一台机器的~/.ssh/know_host文件里面都有其他节点的ssh信息。并把收到的公钥添加到authorized_keys文件下,这样下一次就可以免密登录了。

第一次访问时会出现询问 
 
确定就好,之后都是秒连的。


遇到的问题: 
1. ssh: connect to host node1 port 22: Connection timed out 
检查/etc/hosts文件中的映射 地址->主机名 是否有错 
2. Host key verification failed. 
当询问 “…..(yes/no)?”时直接敲了个回车。 应敲yes

jdk的安装

  1. 下载 
    可以直接访问官网下载符合自己机器的jdk。 
    注意:需选中 Accept License Agreement
  2. 解压 

    tar zxvf jdk-8u131-linux-x64.tar.gz // 解压jdk压缩包 
  3. 配置环境变量
vi /etc/profile    // 配置环境变量
  • 1

在空白处添加解压后jdk所在的路径 :

export JAVA_HOME=/opt/softwares/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$JAVA_HOME/bin:$PATH
  • 1
  • 2
  • 3
source /etc/profile    // 使环境变量生效
  • 1

验证jdk是否安装完成 :

 java -version    // 会出现jdk版本信息
  • 1

可利用scp命令发送jdk到其余虚拟机中然后更改/etc/profile

或是重复相同操作

hadoop的安装和配置

1.下载 
访问hadoop官网下载。 
2.解压

tar zxvf hadoop-3.0.0-alpha4.tar.gz
  • 1

3.为了方便可以配置一下环境变量

vi /etc/profile
  • 1
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
  • 1
  • 2
source /etc/profile    // 使环境变量生效
  • 1

验证安装 :

hadoop version
  • 1


4.配置文件 
在hadoop文件加下:

cd etc/hadoop/    //  此目录下含有hadoop的配置件
  • 1


需要配置的文件有 : 
hadoop-env.sh 
core-site.xml 
hdfs-site.xml 
mapred-site.xml 
yarn-site.xml 
workers 
(单节点及伪分布式可查看官网)


vi hadoop-env.sh 
  • 1
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/opt/softwares/jdk1.8.0_131
  • 1
  • 2
  • 3

因为hadoop是在JVM上运行的所以要在其配置文件中指定jdk的path

vi core-site.xml
  • 1
<configuration><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop/tmp</value></property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

第一个fs.defaultFS是指定hdfs的URI 
第二个hadoop.tmp.dir是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配 置namenode和datanode的存放位置,默认就放在这个路径中

vi hdfs-site.xml
  • 1
<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.namenode.name.dir</name><value>/usr/local/hadoop/hdfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/usr/local/hadoop/hdfs/data</value></property><property><name>dfs.namenode.secondary.http-address</name><value>node1:9001</value></property><property><name>dfs.http.address</name><value>0.0.0.0:50070</value></property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

dfs.replication 副本个数,默认是3 
dfs.namenode.secondary.http-address 为了保证整个集群的可靠性secondarnamenode配置在其他机器比较好 
dfs.http.address 进入hadoop web UI的端口

vi mapred-site.xml 
  • 1
<configuration><property><name>mapred.job.tracker.http.address</name><value>0.0.0.0:50030</value></property><property>
--><!-- Put site-specific property overrides in this file. --><configuration><property><name>mapred.job.tracker.http.address</name><value>0.0.0.0:50030</value></property><property><name>mapred.task.tracker.http.address</name><value>0.0.0.0:50060</value></property><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.application.classpath</name><value>/usr/local/hadoop/etc/hadoop,/usr/local/hadoop/share/hadoop/common/*,/local/hadoop/share/hadoop/common/lib/*,/usr/local/hadoop/share/hadoop/hdfs/*,/usr/local/hadoop/share/hadoop/hdfs/lib/*,/usr/local/hadoop/share/hadoop/mapreduce/*,/usr/local/hadoop/share/hadoop/mapreduce/lib/*,/usr/local/hadoop/share/hadoop/yarn/*,/usr/local/hadoop/share/hadoop/yarn/lib/*</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

mapreduce框架的参数 
最后一个是hadoop jar包的路径

vi yarn-site.xml
  • 1
<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property>         <name>yarn.resourcemanager.webapp.address</name><value>master:8099</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序 
yarn 的webUI端口是8099

vi workers    // datanode节点设置
  • 1
node1
node2
  • 1
  • 2

5.发送到其余虚拟机中或是重复相同操作

启动hadoop

hdfs namenode -format    // 首次启动格式化namenode
start-all.sh    // 启动hadoop集群
jps    // 查看JVM运行的程序
  • 1
  • 2
  • 3

 
 


遇到的问题 :

 
在hadoop/sbin/ 
vi start-dfs.sh 
vi stop-dfs.sh 
添加 
HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root

当报错YARN_RESOURCEMANAGER_USER时 
vi start-yarn.sh 
vi stop-yarn.sh 
添加 
YARN_RESOURCEMANAGER_USER=root 
HADOOP_SECURE_DN_USER=yarn 
YARN_NODEMANAGER_USER=root


50070端口配置文件中设置了,却还是不能访问

vi /etc/selinux/config

修改

#This file controls the state of SELinux on the system.
#SELINUX= can take one of these three values:
#enforcing - SELinux security policy is enforced.
#permissive - SELinux prints warnings instead of enforcing.
#disabled - No SELinux policy is loaded.
SELINUX=enforcing
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

SELINUX的属性改为disabled


namenode启动了datanode没有启动(多次格式化namenode造成的)

在master的hadoop路径下 :

vi hdfs/name/current/VERSION
  • 1

拷贝clusterID 
datanode的hadoop路径下 :

vi hdfs/data/current/VERSION
  • 1

替换掉datanode的clusterID 
开启不需要format了

hadoop下载地址与配置hadoop3.0集群相关推荐

  1. Hadoop 2.0集群配置详细教程

    Hadoop 2.0集群配置详细教程 前言 Hadoop2.0介绍 Hadoop是 apache 的开源 项目,开发的主要目的是为了构建可靠,可拓展 scalable ,分布式的系 统, hadoop ...

  2. Ubuntu18.04 安装搭建 hadoop-3.3.0 集群

    Ubuntu18.04 安装搭建 hadoop-3.3.0 集群 参考博文:https://blog.csdn.net/sunxiaoju/article/details/85222290?ops_r ...

  3. Hadoop3.x集群搭建及配置的完整操作流程

    一.Linux安装及网络配置 1.虚拟机的选择 虚拟机选择的是VMware Workstation Pro16,下载地址https://www.vmware.com/cn.html,自行选择需要的版本 ...

  4. 记一次 Centos7.x Hadoop3.x集群安装部署 Pig 0.17.0

    基本信息 官网 http://pig.apache.org/ 下载地址 http://www.apache.org/dyn/closer.cgi/pig https://mirror.bit.edu. ...

  5. hadoop-3.0.0集群搭建

    2019独角兽企业重金招聘Python工程师标准>>> hadoop-3.0.0集群搭建 下载hadoop包 wget -c http://ftp.jaist.ac.jp/pub/a ...

  6. Spark2.2.0集群搭建部署之【HADOOP集群篇】

    软件准备信息,详见Spark2.2.0集群搭建部署之[软件准备篇] 基础配置信息,详见Spark2.2.0集群搭建部署之[基础配置篇] SSH无密访问,详见park2.2.0集群搭建部署之[无密访问篇 ...

  7. Spark2.2.0集群搭建部署之【基础配置篇】

    软件准备信息,详见Spark2.2.0集群搭建部署之[软件准备篇] Spark集群在生产环境中,主要部署在linux的集群中,所以需要先安装JDK,SCALA等基础配置. 由于Spark是计算框架,所 ...

  8. hadoop下载地址

    hadoop下载地址 http://mirror.bit.edu.cn/apache/hadoop/common/ hadoop下载地址 转载于:https://www.cnblogs.com/che ...

  9. Hadoop下载地址大全

    Hadoop下载地址大全:https://archive.apache.org/dist/hadoop/common/

最新文章

  1. python import io_详解Python IO编程
  2. javascript中的for循环
  3. python 简单网页_Python爬虫 (一):爬取一个简单的静态网页
  4. php整站防注入程序,php通用防注入程序 推荐
  5. 【Assembly】Mixed mode dll unable to load in .net 4.0
  6. CRCNN PCNN
  7. java jsessionid_jsessionid怎么产生
  8. 音频格式转换Java代码,以mp3转amr为例
  9. 自抗扰控制(ADRC)—— 扩展状态观测器
  10. 【5年Android从零复盘系列之二十八】Android存储(3):assets文件详解
  11. 《数据结构》陈越老师课后题详解
  12. KK(凯文·凯利) 给年轻人的68条建议
  13. 原生小程序转Taro开发
  14. 数字控制增益的放大器的设计
  15. ROS将xacro文件转换成URDF文件
  16. 基于STM32的脉搏心率检测仪(OLED可以实时显示脉冲波形)
  17. 智慧路灯商业模式分析:智慧灯杆如何盈利?12项盈利模式汇总
  18. CentOS7的虚拟机连不通网外解决方案
  19. 用于 Visual Studio Code 的 LaTeX Workshop
  20. C语言练习题:如果已知英尺长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)*0.3048。现在对应英尺制长度和英寸是多少呢?别忘了1英尺等于12英寸

热门文章

  1. mule框架中mule.xml标签使用介绍
  2. 电脑闪黄灯,屏幕没反应
  3. iOS 内购详解-代码篇
  4. 服务器虚拟化漂移,云服务器漂移
  5. 10049 : 凯的菱形
  6. 【ctf】Crypto初步基础概要
  7. SUV,MPV,RV概念
  8. 用appium一定要注意这个参数,不然就会清空数据了(appium打开软件怎么才能不清空数据)
  9. 哈夫曼压缩文件python
  10. Nginx、LVS、Keepalived的关系