Hadoop集群及基本组件搭建
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集群及基本组件搭建的更多相关文章
- hadoop 集群HA高可用搭建以及问题解决方案
hadoop 集群HA高可用搭建 目录大纲 1. hadoop HA原理 2. hadoop HA特点 3. Zookeeper 配置 4. 安装Hadoop集群 5. Hadoop HA配置 搭建环 ...
- 沉淀,再出发——在Hadoop集群的基础上搭建Spark
在Hadoop集群的基础上搭建Spark 一.环境准备 在搭建Spark环境之前必须搭建Hadoop平台,尽管以前的一些博客上说在单机的环境下使用本地FS不用搭建Hadoop集群,可是在新版spark ...
- hadoop(集群)完全分布式环境搭建
一,环境 主节点一台: ubuntu desktop 16.04 zhoujun 172.16.12.1 从节点(slave)两台:ubuntu server 16.04 hadoop2 ...
- hadoop集群的规划和搭建
1.操作系统版本:CentOS 6 CM版本:CM5.x CDH版本:CDH5.x 2.安装操作系统,对系统盘做 RAID1: 配置静态IP.hostname信息:vim /etc/sysconfig ...
- Linux 搭建Hadoop集群 成功
内容基于(自己的真是操作步骤编写) Linux 搭建Hadoop集群---Jdk配置 Linux 搭建Hadoop集群 ---SSH免密登陆 一:下载安装 Hadoop 1.1:下载指定的Hadoop ...
- 在搭建Hadoop集群环境时遇到的一些问题
最近在学习搭建hadoop集群环境,在搭建的过程中遇到很多问题,在这里做一些记录.1. SSH相关的问题 问题一: ssh: connect to host localhost port 22: Co ...
- hadoop 集群调优实践总结
调优概述# 几乎在很多场景,MapRdeuce或者说分布式架构,都会在IO受限,硬盘或者网络读取数据遇到瓶颈.处理数据瓶颈CPU受限.大量的硬盘读写数据是海量数据分析常见情况. IO受限例子: 索引 ...
- 搭建简单的hadoop集群(译文)
本文翻译翻译自http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/ClusterSetup.html 具体的实 ...
- hadoop核心组件概述及hadoop集群的搭建
什么是hadoop? Hadoop 是 Apache 旗下的一个用 java 语言实现开源软件框架,是一个开发和运行处理大规模数据的软件平台.允许使用简单的编程模型在大量计算机集群上对大型数据集进行分 ...
随机推荐
- Win10系统,开机后提示Desktp不可用的故障解决方法。
WIN10桌面位置不可用的故障解决方法 今天电脑开机 (Win10系统).桌面空了,然后就蒙了. 系统并弹出以下框,如下图: 原因可能是因为昨天晚上熬夜测试脚本.网上下载的脚本大多都是有毒的.但是人懒 ...
- 爬坑记-tomcat 项目启动两次的的解决
项目就启动了两次,程序倒是正常运行,关键我里边写了个while 循环,不能让它启动两次啊 百度了一下,有人说是tomcat server.xml或者tomcat新建服务的时候设置出了问题 ....最终 ...
- Python实现对CSV文件的读写功能
我们要处理csv文件,首先要的导入csv模块 import csv #读取csv文件def readCsv(path): #传入变量csv文件的路径 list=[] #定义一个空列表 with ope ...
- Scrapy Spider MiddleWare 设置
# -*- coding: utf-8 -*- # Define here the models for your spider middleware # # See documentation in ...
- java tcp ip网络编程(二) 套接字的基本使用
##基本套接字的使用 linux系统把网络io抽象成socket,对网络的编程就是对socket的编程. java把套接字抽象成类似的类 InetAddress SocketAddress 识别jav ...
- LVS的DR模式测试案例<仅个人记录>
初始概念 大家都知道LVS,是章文嵩博士创建的,所以首先推一下主站吧!http://zh.linuxvirtualserver.org/ LVS集群分为三层结构: 负载调度器(load balance ...
- Java 字符编码(二)Java 中的编解码
Java 字符编码(二)Java 中的编解码 java.nio.charset 包中提供了一套处理字符编码的工具类,主要有 Charset.CharsetDecoder.CharsetEncoder. ...
- Java获取请求主机真实ip
一般情况下 getRemoteAddr()是可以正常使用的,代码如下: public String getIpAdress(HttpServletRequest request) { ip = req ...
- CSS绝对定位的原点:是在border上、padding上还是在content上?
用了那么久的绝对定位,却一直没在意一个问题,就是绝对定位的原点,究竟是在盒模型的哪一处.今天想到这个问题,直接搜索没有找到标准文档,也没有搜索到相关的问题,于是决定自己动手实现一下看看,并把这个结果发 ...
- easyui combobox 不能选中值的问题
easyui comboxbox 下拉框加载到数据,但是不能选中.一般情况是重复渲染,页面有同名元素,valueField重复. 这次遇到的具体问题是,第一次刷新页面,可以选中,第二次不能选中.考虑到 ...