hadoop、zookeeper、hbase、spark集群环境搭建
来源:互联网 发布:阿里云动态ip 编辑:程序博客网 时间:2024/06/07 22:23
本文主要讲了以下内容:
- Linux系统的一些基础配置
- 安装jdk
- 配置SSH免登陆
- hadoop的安装和配置
- zookeeper集群的安装配置
- hbase的安装和配置
- spark的安装和配置
1 使用Vmware安装Linux系统
这个很easy,软件和操作步骤请自行搜索,我安装的ubuntu系统,三个主机的名称分别是master、slave1、slave2,用户名统一都是trigl,后面设置ssh免登录需要用户名是相同的否则就会出错。后面的很多配置这三台主机都是相同的,直接复制配置文件即可,这里教大家一下不同主机之间传输文件(文件夹)的命令:
- 1
- 1
如将master的jdk的tar包传给slave1,命令如下:
- 1
- 1
2 安装xshell和xftp
xshell用于连接linux系统并输入命令,xftp用于向linux系统传输文件,安装比较简单,请自行搜索。
我安装了ubuntu系统后首次用xshell连接是连不上的,如图:
这是由于新装的系统没有ssh服务,使用下面命令下载安装:
- 1
- 1
安装完成以后用xshell就可以连接上了
3 解决ubuntu自带VI编辑器不好用的问题
使用ubuntu自带的vi来编辑文件的时候,方向键会变成ABCD,解决方法如下:
编辑 /etc/vim/vimrc.tiny ,将“set compatible”改为“set nocompatible”,在这句话的下面加上“set backspace=2”,如下:
4 分别修改三台主机的hosts文件和主机名
1、修改hosts文件
编辑hosts文件:
- 1
- 1
添加下面内容:
- 1
- 2
- 3
- 1
- 2
- 3
这样就配置好了域名,在后面配置需要ip时我们可以直接用域名来方便地替换ip。
2、修改主机名
分别修改三台主机 /etc/hostname 的内容为master、slave1、slave2
注意主机名和hosts文件中设置的名称应当保持一致,否则会产生意外的错误
5 关闭防火墙
1、关闭命令
- 1
- 2
- 1
- 2
2、查看防火墙状态
- 1
- 1
6 设置NTP时间同步
为了保证集群内的时间是一致的,我们可以将其中的一台主机作为时间服务器,其他主机设置定时任务每天与时间服务器同步一次时间
6.1 配置某台主机为ntp时间服务器
1、安装ntp
- 1
- 1
2、修改配置文件/etc/ntp.conf
- 1
- 2
- 1
- 2
3、手动同步
- 1
- 1
4、启动服务
- 1
- 1
5、开机启动
- 1
- 1
6.2 配置其他主机为ntp客户端
1、安装ntp
- 1
- 1
2、修改配置文件/etc/ntp.conf
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
3、安装使用定时器crontab
传送至:Linux下使用定时器crontab
4、编辑定时器任务
- 1
- 1
添加如下内容:
- 1
- 1
7 修改最大线程数
Linux默认有一个最大线程数,线程数不能超过这个值,可以使用以下命令查看:
- 1
- 1
默认是1024,hadoop集群跑任务的时候会需要同时创建很多线程,有时候会超过1024,所以最好将该参数改的大一点
1、修改文件/etc/security/limits.d/90-nproc.conf
- 1
- 2
- 3
- 1
- 2
- 3
2、修改文件/etc/security/limits.conf,添加内容:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
8 新建安装目录并更改所属用户和组
1、新建应用的安装目录
- 1
- 1
2、更改该安装目录所属用户和组
例如将目录归属为trigl用户和trigl用户组:
- 1
- 1
对slave1和slave2做相同操作,更改用户和组以后对该目录就有了所有权限,后续输入命令不再需要加sudo了
9 安装jdk
hadoop等的搭建都依赖于jdk,所以需要先安装jdk
1、到官网下载jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html,我下载的是 jdk-7u75-linux-x64.tar.gz
2、下载好的tar包放在 /data/install/Java 目录并解压:
- 1
- 1
3、配置环境变量
首先进入编辑Linux配置环境变量的文件:
- 1
- 1
在里面添加如下内容:
- 1
- 2
- 3
- 1
- 2
- 3
4、使环境变量立刻生效:
- 1
- 1
10 配置SSH免登陆
关于为什么需要配置SSH免登陆请看这篇文章:SSH免密码登录详解,我这里仅给出具体的配置方式
1、生成SSH的公钥,命令如下,三台主机都要执行一次:
- 1
- 1
让输入内容直接回车即可,执行以后会在 /home/trigl/.ssh/(家目录/.ssh) 下生成id_rsa和id_rsa.pub文件
2、将主机slave1和slave2在上一步骤生成的id_rsa.pub文件传到主机master的 /home/trigl/.ssh/ 下面,为了防止覆盖,重命名为id_rsa.pub.slave1和id_rsa.pub.slave2
- 1
- 2
- 1
- 2
3、在主机master的 /home/trigl/.ssh/ 目录下分别将id_rsa.pub、id_rsa.pub.slave1和id_rsa.pub.slave2追加到authorized_keys文件中
- 1
- 2
- 3
- 1
- 2
- 3
这样就生成了一个可以同时验证master、slave1和slave2的公钥文件
4、将上一步生成的authorized_keys文件分别传到slave1和slave2的/home/trigl/.ssh/下面
- 1
- 2
- 1
- 2
5、验证
验证master连接slave1:
- 1
- 1
如果没有让输入密码且成功切换到slave1的终端,说明配置成功,验证连接slave2类似
2016.11.25更新:注意如果是在Centos系统下还需要更改文件权限
- 1
- 2
- 1
- 2
11 hadoop的安装和配置
1、下载hadoop
首先到Apache官网(http://www.apache.org/dyn/closer.cgi/hadoop/common/)复制下载地址,然后进入 /data/install/apache 目录下面执行以下命令直接进行下载:
- 1
- 1
下载完成后进行解压:
- 1
- 1
2、配置hadoop
进入hadoop的配置目录:
- 1
- 1
需要修改的配置文件为:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、slaves、hadoop-env.sh、yarn-env.sh
core-site.xml
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
hdfs-site.xml
- 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
- 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
yarn-site.xml
- 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
- 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
mapred-site.xml
通过cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml创建etc/hadoop/mapred-site.xml,内容改为如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
slaves
- 1
- 2
- 1
- 2
hadoop-env.sh和yarn-env.sh
- 1
- 1
配置文件修改完以后,将master下hadoop文件夹复制到slave1和slave2中
- 1
- 2
- 1
- 2
3、运行hadoop
启动hadoop的命令都在master上执行
(1)初始化hadoop(清空hdfs数据):
- 1
- 2
- 3
- 1
- 2
- 3
(2)启停hdfs:
- 1
- 2
- 1
- 2
验证是否启动成功,在master输入 jps,应当存在namenode和secondary namenode
在slave1和slave2输入jps,应当存在datanode
进一步验证,访问:http://192.168.79.131:50070/dfshealth.html(192.168.79.131是master的ip),如图:
(3)启停yarn
- 1
- 2
- 1
- 2
在master输入 jps,应当存在resourcemanager
在slave1和slave2输入jps,应当存在nodemanager
访问:http://192.168.79.131:8088/cluster
12 zookeeper集群的安装配置
1、下载
到http://apache.fayea.com/zookeeper/stable/下载安装包并解压:
- 1
- 1
2、配置
(1)建立数据目录
- 1
- 1
(2)进入conf目录创建并修改zoo.cfg文件
- 1
- 1
修改以后的内容为:
- 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
- 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
这里还需要在数据目录/data/install/apache/zookeeper-3.4.9/data下面新建名为myid的文件,各个主机对应的内容是不同的,master的内容是0,slave1的内容是1,slave2的内容是2,分别对应server.x中的x
(3)设置环境变量:/etc/profile添加如下内容
- 1
- 2
- 1
- 2
别忘了source一下让环境变量生效
- 1
- 1
3、启停zookeeper
在各个节点执行以下命令:
- 1
- 2
- 1
- 2
输入jps检测一下:
查看各个主机的状态:
- 1
- 1
这里如果报错:
- 1
- 1
看这篇文章的解决方法:http://blog.csdn.net/lcdcxy/article/details/50393363
13 hbase的安装和配置
1、下载
首先到http://apache.fayea.com/hbase/stable/下载稳定版安装包并解压:
- 1
- 1
2、配置
主要修改conf目录下的三个文件:hbase-env.sh、hbase-site.xml、regionservers
hbase-env.sh
- 1
- 2
- 3
- 1
- 2
- 3
hbase-site.xml
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
regionservers
- 1
- 2
- 1
- 2
2016.11.25更新:还需要同步集群时间,否则有的从节点无法启动,在每个节点上运行ntp即可
- 1
- 1
3、启停hbase
- 1
- 2
- 1
- 2
master输入jps:
slave1和slave2输入jps:
访问:http://192.168.79.131:16010
4、hbase的一些基本命令
drop ‘表名称’查看所有记录scan “表名称”
首先进入hbase shell
- 1
- 1
(1)创建表
- 1
- 1
(2)添加记录
- 1
- 2
- 1
- 2
(3)查看记录
- 1
- 1
(4)查看表中的记录总数
- 1
- 1
(5)删除记录
- 1
- 1
(6)删除一张表
- 1
- 2
- 1
- 2
(7)查看所有记录
- 1
- 1
14 spark的安装和配置
1、下载
首先在http://spark.apache.org/downloads.html下载指定hadoop版本的安装包,然后解压缩
2、配置
创建并修改conf目录下的配置文件 spark-env.sh,slaves
spark-env.sh
- 1
- 1
修改内容为:
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
slaves
- 1
- 1
修改内容为:
- 1
- 2
- 1
- 2
3、启停spark
- 1
- 2
- 1
- 2
在master上输入jps:
在slave1和slave2上输入jps:
访问:http://192.168.79.131:8080/
以上,就完成了整个集群环境的搭建,详细配置文件和启停命令可以到这里下载:http://download.csdn.net/download/trigl/9629044
Men were born to be suffering, the pain of struggle, or the pain of regret?
- hadoop、zookeeper、hbase、spark集群环境搭建
- hadoop、zookeeper、hbase、spark集群环境搭建
- hadoop、zookeeper、hbase、spark集群环境搭建
- 大数据1-hadoop、zookeeper、hbase、spark集群环境搭建
- Hadoop + hbase + Zookeeper + spark + scala 集群搭建
- Hadoop 、Hbase、zookeeper 集群环境搭建
- Hadoop+HBase+ZooKeeper分布式集群环境搭建
- Hadoop+Hbase+Zookeeper集群环境搭建
- Hadoop+HBase+ZooKeeper分布式集群环境搭建
- Centos7+Hadoop+Spark+Zookeeper+Hbase之集群搭建
- hadoop, hbase, zookeeper集群搭建
- hadoop, hbase, zookeeper集群搭建
- Hadoop+Spark+Zookeeper 集群搭建
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 学习搭建Hadoop+HBase+ZooKeeper分布式集群环境
- Hadoop集群之 ZooKeeper和Hbase环境搭建
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 16*16点阵字库HZK16的使用
- 在javascript中获取中英文字符长度的问题
- Python datetime time 常用操作
- R语言的使用
- 关键字高亮显示
- hadoop、zookeeper、hbase、spark集群环境搭建
- 判断文本框还剩多少字符可以输入
- js内\n替换为<br/>
- jQuery之下拉菜单
- TCP和UDP的区别、HTTP
- SecureCRT上传文件到linux服务器
- LeetCode 543. Diameter of Binary Tree
- 浅谈启动盘~
- 录制音频和播放音频