本人采用一个master和两个slave的网络结构,具体搭建如下

1.准备安装包

1.下载安装包
http://pan.baidu.com/s/1jIoZulw 2.安装包清单
scala-2.12.4.tar
hadoop-2.7.4.tar
zookeeper-3.4.10.tar
jdk-8u151-linux-x64.tar
spark-2.2.0-bin-hadoop2.7.tar
hbase-1.3.1-bin.tar.gz

2.基本安装准备

1.安装virtualbox(自行下载安装)
2.安装unbunt(自行下载安装)
3.设置root用户密码并切换到root用户
sudo passwd root(回车输入要设置为root用户的密码)
su root(回车后输入密码)
4.在unbunt上安装ssh服务,vim,net-tools
apt install vim
apt install net-tools
apt install openssh-server
5.修改ssh配置文件并重启ssh服务
vim /etc/ssh/sshd.config(将32行改为PermitRootLogin yes)
/etc/init.d/ssh restart(重启ssh服务)

3.集群的命名和ssh无密码登陆验证

1.将虚拟服务器复制2台
2.使用ifconfig命令确认服务器的ip地址
3.使用root账号ssh登陆所有服务器
ssh root@192.168.0.127(回车输入密码)
ssh root@192.168.0.128(回车输入密码)
ssh root@192.168.0.129(回车输入密码)
4.分别在三台服务器上修改服务器的名字
vim /etc/hostname(三台服务器分别设置为master,slave1,slave2)
5.vim /etc/hosts里添加(每台服务器都相同)
192.168.0.127 master
192.168.0.128 slave1
192.168.0.129 slave2
5.重新启动3台服务器(可以看到服务器名已变更成功)
6.分别在每台服务器上运行ssh-keygen(一直敲回车回到命令行)
7.在master服务器上
cd ~/.ssh/
cat id_rsa.pub > authorized_keys
8.分别在slave1和slave2上运行命令
cat ~/.ssh/id_rsa.pub
9.将slave1和slave2上cat出的内容复制到master的authorized_keys文件里并保存
10.将master的authorized_keys分别拷贝到slave1和slave2的~/.ssh/目录里
11.在master服务器上测试(如无需输入密码登录即为成功)
ssh slave1
ssh slave2

4.安装JDK

1.将安装包传送到mastr主机的/usr/local/src/目录上
scp -rp jdk-8u151-linux-x64.tar root@192.168.0.127:/usr/local/src/ (这里是Mac的传送方式,windows请使用ftp工具)
2.登录master解压安装包
cd /usr/local/src
tar -zxvf jdk-8u151-linux-x64.ta
3.设置jdk环境变量
vim /etc/profile(在末尾添加)
export export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin
4.使配置生效并测试是否成功
source /etc/profile
输入java或java -version无报错即为成功
5.在slave1和slave2上做相同操作

5.安装scala

1.将scala安装包上传到master的/usr/local/src/目录里(同上)
2.解压scala安装包
tar -zxvf scala-2.12.4.tar
3.设置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export SCALA_HOME=/usr/local/src/scala-2.12.4
export PATH = :$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$SCALA_HOME/bin
4.使配置生效
source /etc/profile
5.在slave1和slave2上做相同操作

6.安装hadoop

1.将hadoop安装包上传到master的/usr/local/src/目录里(同上)
2.解压hadoop安装包
tar -zxvf hadoop-2.7.4.tar
3.设置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export SCALA_HOME=/usr/local/src/scala-2.12.4
export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
export PATH = :$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:/sbin
4.使配置生效
source /etc/profile
5.配置hadoop核心文件
cd /usr/local/src/hadoop-2.7.4/etc/hadoop vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-2.7.4/tmp</value>
</property>
</configuration> vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/src/hadoop-2.7.4/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/src/hadoop-2.7.4/tmp/dfs/data</value>
</property>
</configuration> vim mapped-site.xml
<configuration>
<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>
</configuration> vim yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> vim hadoop-env.sh文末添加:export JAVA_HOME=/usr/local/src/jdk1.8.0_151 vim slaves里内容为
slave1
slave2 6.将master配置好的hadoop文件分别复制到slave1和slave2(这是Mac上的操作,windows使用ftp工具)
cd /usr/local/src/
scp -rp hadoop-2.7.4 slave1:/usr/local/src/
scp -rp hadoop-2.7.4 slave2:/usr/local/src/ 7.在slave1和slave2上重复本节的3,4步骤
8.在master上进行磁盘格式化
hadoop namenode -format
cd /usr/local/src/hadoop-2.7.4/sbin/
start-all.sh
9.在master上jps可以看到
2022 SecondaryNameNode
1769 NameNode
5401 Jps
2175 ResourceManager
10.在slave1和slave2上jps可以看到
4020 Jps
1606 DataNode
1775 NodeManager
11.master上将/etc/passwd拖入到hdfs上
hadoop fs -put /etc/passwd /
12.查看如果有/passwd则拖入成功
hadoop fs -ls /

7.安装spark

1.将spark安装包上传到master的/usr/local/src/目录里(同上)
2.解压spark安装包
tar -zxvf spark-2.2.0-bin-hadoop2.7.tar
3.设置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
export SCALA_HOME=/usr/local/src/scala-2.12.4
export SPARK_HOME=/usr/local/src/spark-2.2.0-bin-hadoop2.7
export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin
4.使配置生效
source /etc/profile
5.配置spark文件
cd /usr/local/src/spark-2.2.0-bin-hadoop2.7/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh里文末添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export SCALA_HOME=/usr/local/src/scala-2.12.4
export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
export HADOOP_CONF_DIR=/usr/local/src/hadoop-2.7.4/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/src/spark-2.2.0-bin-hadoop2.7
SPARK_DRIVER_MEMORY=1G
保存退出
vim slaves
slave1
slave2
6.将spark配置好的文件复制到slave1和slave2
cd /usr/local/src
scp spark-2.2.0-bin-hadoop2.7 slave1:/usr/local/src
scp spark-2.2.0-bin-hadoop2.7 slave2:/usr/local/src
7.在slave1,slave2上分别重复本节3,4步骤
8.分别在master,slave1,slave2上启动spark
cd /usr/local/src/spark-2.2.0-bin-hadoop2.7/sbin
start-all.sh
9.在master上jps可以看到
4320 Master
2022 SecondaryNameNode
1769 NameNode
5499 Jps
2175 ResourceManager
10.在slave1,slave2上jps可以看到
4020 Jps
1606 DataNode
3323 Worker
1775 NodeManager

8.安装zookeeper

1.将zookeeper安装包上传到master的/usr/local/src/目录里(同上)
2.解压zookeeper安装包
tar -zxvf zookeeper-3.4.10.tar
3.配置spark配置文件
cd /usr/local/src/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
将此三个参数修改为
clientPort=2181
dataDir=/usr/local/src/zookeeper-3.4.10/zoo_data
tickTime=2000
并在尾部添加ip地址填写自己实际的ip地址
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
保存退出
4.在zookeeper-3.4.10目录里创建文件夹zoo_data
cd /usr/local/src/zookeeper-3.4.10/zoo_data
vim myid(此机是master所以写为1,与上一步骤中的server:后对应的一致)
5.将zookeeper-3.4.10文件复制到slave1和slave2(此例是Mac操作方式,windows请用ftp工具)
scp -rp zookeeper-3.4.10 save1:/usr/local/src/
scp -rp zookeeper-3.4.10 save2:/usr/local/src/
6.分别将slave1和slave2里/usr/local/src/ookeeper-3.4.10/zoo_data/myid里的数字改为2和3
7.分别在mater,slave1和slave2里启动zookeeper服务
cd /usr/local/src/ookeeper-3.4.10/
bin/zkServer.sh start
8.使用jps分别在master,slave1,slave2查看进程可以看到都多了QuorumPeerMain
9.master进程为
3729 Jps
2723 NameNode
3413 Master
3126 ResourceManager
2972 SecondaryNameNode
3694 QuorumPeerMain
10.slave1和slave2进程为
2560 DataNode
3251 Jps
3124 QuorumPeerMain
2966 Worker
2749 NodeManager

9.安装Hbase

1.将hbase安装包上传到master的/usr/local/src/目录里(同上)
2.解压hbase安装包
tar -zxvf hbase-1.3.1.tar.gz
3.设置环境变量并使之生效
vim /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export HADOOP_HOME=/usr/local/src/hadoop-2.7.4
export SCALA_HOME=/usr/local/src/scala-2.12.4
export SPARK_HOME=/usr/local/src/spark-2.2.0-bin-hadoop2.7
export HBASE_HOME=/usr/local/src/hbase-1.3.1
export PATH=:$PATH:$JAVA_HOME/bin:$JAVA_HOME/sbin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SCALA_HOME/bin:$SPARK_HOME/bin:$HBASE_HOME/bin
4.配置hbase配置文件
cd /usr/local/src/hbase-1.3.1/conf
vim base-env.sh
文末添加
export JAVA_HOME=/usr/local/src/jdk1.8.0_151
export HBASE_MANAGES_ZK=false
vim base-site.xml添加
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
vim regionservers改为
slave1
slave2
5.将/usr/local/src/hbase-1.3.1分别拷贝到slave1和slave2的/usr/local/src目录
6.在slave1,salve2上进行本次3,4步骤
7.分别在master,slave1,slave2上启动base
cd /usr/local/src/hbase-1.3.1/bin
start-hbase.sh
8.在master上jps查看发现多了HMaster
3313 Jps
1955 SecondaryNameNode
1702 NameNode
2507 QuorumPeerMain
3198 HMaster
2399 Master
2111 ResourceManager
9.在slave1,slave2上jps查看发现多了HRegionServer
1971 Worker
1752 NodeManager
2507 Jps
1579 DataNode
2044 QuorumPeerMain
2396 HRegionServer

Hadoop集群及基本组件搭建的更多相关文章

  1. hadoop 集群HA高可用搭建以及问题解决方案

    hadoop 集群HA高可用搭建 目录大纲 1. hadoop HA原理 2. hadoop HA特点 3. Zookeeper 配置 4. 安装Hadoop集群 5. Hadoop HA配置 搭建环 ...

  2. 沉淀,再出发——在Hadoop集群的基础上搭建Spark

    在Hadoop集群的基础上搭建Spark 一.环境准备 在搭建Spark环境之前必须搭建Hadoop平台,尽管以前的一些博客上说在单机的环境下使用本地FS不用搭建Hadoop集群,可是在新版spark ...

  3. hadoop(集群)完全分布式环境搭建

    一,环境 主节点一台: ubuntu desktop 16.04 zhoujun      172.16.12.1 从节点(slave)两台:ubuntu server 16.04 hadoop2  ...

  4. hadoop集群的规划和搭建

    1.操作系统版本:CentOS 6 CM版本:CM5.x CDH版本:CDH5.x 2.安装操作系统,对系统盘做 RAID1: 配置静态IP.hostname信息:vim /etc/sysconfig ...

  5. Linux 搭建Hadoop集群 成功

    内容基于(自己的真是操作步骤编写) Linux 搭建Hadoop集群---Jdk配置 Linux 搭建Hadoop集群 ---SSH免密登陆 一:下载安装 Hadoop 1.1:下载指定的Hadoop ...

  6. 在搭建Hadoop集群环境时遇到的一些问题

    最近在学习搭建hadoop集群环境,在搭建的过程中遇到很多问题,在这里做一些记录.1. SSH相关的问题 问题一: ssh: connect to host localhost port 22: Co ...

  7. hadoop 集群调优实践总结

    调优概述# 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 ...

  8. 搭建简单的hadoop集群(译文)

    本文翻译翻译自http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/ClusterSetup.html 具体的实 ...

  9. hadoop核心组件概述及hadoop集群的搭建

    什么是hadoop? Hadoop 是 Apache 旗下的一个用 java 语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台.允许使用简单的编程模型在大量计算机集群上对大型数据集进行分 ...

随机推荐

  1. python入门day01

      一.编程和编程语言 电脑的基本原理: #计算机通过高低电流表示二进制数的1和0,所以计算机识别的是电压的高低,准确地说是用电压表示的各种数据,即数字信号;其他的物理量必须通过传感器等设备转换成数字 ...

  2. Quartz.Net进阶之七:QuartzNet其他的功能简述

    一.介绍 今天是这个系列的最后一篇文章了,主要功能说的差不多了,我们来看看其他相关的内容.话说回来,虽然是这个系列的最后一篇文章,并不代表Quartz的东西就这么点,学习阶段,就这些了,如果以后有了使 ...

  3. [转] spring framework体系结构及内部各模块jar之间的maven依赖关系

    很多人都在用spring开发java项目,但是配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错就继续配置jar依赖,导致spring依赖混乱,甚至下 ...

  4. [基础篇] 01_MySQL的安装与配置

  5. spring boot利用controller来测试写的类

    我们在开发spring boot应用程序的时候,往往需要测试某个写好的类,但是在测试的时候发现不太好测试,用Junit等测试框架,总是会报一些问题,大致是找不到配置文件以及无法利用spring创建的对 ...

  6. HDU 1520.Anniversary party 基础的树形dp

    Anniversary party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. Finance财务软件(科目标签专题)

    为了满足不同业务需求,对凭证中增加一些扩展内容,我们采用自定义科目标签的形式. 怎样自定义标签? 1. 增加科目掩码 这里的代码需要与模板表中tagLabel对应 这里的名称中对应掩码值,为16位整型 ...

  8. [记录]MySQL 查询无法导出到文件

    很多时候我们需要将数据导出到 xls文件, 然后交给数据分析师分析. 而这个查询数据+导出的动作,理应使用一个有只读权限的用户使用. 但查询某表时: select * from table ,此用户可 ...

  9. 【机器学习】主成分分析法 PCA (II)

    主成分分析法(PAC)的优化——选择主成分的数量 根据上一讲,我们知道协方差为① 而训练集的方差为②. 我们希望在方差尽可能小的情况下选择尽可能小的K值. 也就是说我们需要找到k值使得①/②的值尽可能 ...

  10. RQNOJ PID51 / 乒乓球 ☆

    因为是多行输入,所以用了getchar()进行输入,题目没有说明数据范围,所以开始的时候因为数组开的不够大,WA90了一次,我之前开了10000的长度,之后开100000的长度跑过了 一个基本的模拟, ...