快速搭建Hadoop及HBase分布式环境
2017-12-07 16:41
148 查看
本文旨在快速搭建一套Hadoop及HBase的分布式环境,自己测试玩玩的话ok,如果真的要搭一套集群建议还是参考下ambari吧,目前正在摸索该项目中。下面先来看看怎么快速搭建一套分布式环境。
Hadoop-2.7.3,HBase-1.2.4 ,Zookeeper-3.4.9 , JDK1.8.0_121 安装包
配置免密登录,配置一台机器,生产ssh密钥并配置本机免密登录,然后将整个.ssh文件夹传到其他机器上,更改authorized_keys的权限即可
关闭防火墙并禁止开机启动
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.3 namenode-1
192.168.8.4 datanode-1
192.168.8.5 datanode-2
解压缩zookeeper安装文件,修改配置项:
创建tmp文件,并创建myid文件
将配置好的zookeeper文件夹传到其他机器上
然后分别更改其他机器的myid文件,对应配置文件中server后面的数字。分别启动三台机器的zookeeper
查看目前zookeeper状态,一个leader,两个follower,命令如下:
配置各项配置文件
hadoop-env.sh
在hadoop-env.sh中配置JAVA_HOME环境变量
core-site.xml
用于定义系统级别的参数,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等
hdfs-site.xml
HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等
mapred-site.xml
HDFS的相关设定,如reduce任务的默认个数、任务所能够使用内存的默认上下限等
yarn-site.xml
slaves
Hadoop集群的slave主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和NodeManager
datanode-1
datanode-2
将上面配置好的hadoop文件夹scp拷贝到其他两台机器上。
格式化HDFS存储
进入hadoop目录
在格式化过程中注意输出结果,成功后会有类似下面的输出:
启动Hadoop服务
启动和停止脚本位于${HADOOP_HOME}下sbin目录
启动HDFS
启动Yarn
启动MapReduce JobHistory Server
验证服务是否正常运行
查看Master节点上服务:
查看Master节点上服务:
各服务Web UI默认端口
登录各服务Web界面查看服务运行状况。
停止Hadoop服务
停止HDFS
停止Yarn
sbin/stop-yarn.sh
停止MapReduce JobHistory Server
配置HBase
hbase-env.sh
hbase-site.xml
regionservers
配置regionservers主机列表
datanode-1
datanode-2
将配置好的hbase目录scp到其他两天机器上。
启动停止HBase
HBase脚本位于${HBASE_HOME}/bin目录下。
停止HBase
查看HBase状态
分别在Master节点和Slave节点上使用jps查看HBase相关进程是否正常运行
可进入HBase Web UI进行查看,默认端口为16010。
参考文章:
http://www.coolee.me/hadoop-hbase-installation.html
准备
三台虚拟机:1台作为NameNode和HMaster 两台作为DataNode和HRegionServer。同时三台都安装zookeeper。Hadoop-2.7.3,HBase-1.2.4 ,Zookeeper-3.4.9 , JDK1.8.0_121 安装包
基础环境准备
对三台机器创建新用户hadoop,并将其加入sudoers,并更改hostnameuseradd hadoop passwd hadoop vi /etc/sudoers hadoop ALL=(ALL) ALL vi /etc/hostname #配置为 namenode-1/datanode-1/datanode-2
配置免密登录,配置一台机器,生产ssh密钥并配置本机免密登录,然后将整个.ssh文件夹传到其他机器上,更改authorized_keys的权限即可
ssh-keygen #可一直回车 #配置本机免密 cat .ssh/id_rsa.pub >> .ssh/authorized_keys #上传到其他机器 scp -r .ssh hadoop@xxxx:~ #登录到其他机器,设置authorized_keys权限 chmod 644 .ssh/authorized_keys
关闭防火墙并禁止开机启动
service iptables status #查看防火墙状态` service iptables stop #关闭防火墙` chkconfig iptables --list #查看防火墙开机启动状态` chkconfig iptables off #关闭防火墙开机启动` reboot # 重启`
安装JDK
mkdir /usr/java tar zxvf xxjdk.tar.gz mv jdk1.8.0_121/ /usr/java # 安装JDK vi /etc/profile # 添加JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.0_121 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source /etc/profile
安装Zookeeper并配置集群
根据三台机器的ip配置hosts(配置一份然后scp到其他机器):cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.3 namenode-1
192.168.8.4 datanode-1
192.168.8.5 datanode-2
解压缩zookeeper安装文件,修改配置项:
tar -zxvf zookeeper-3.4.9.tar.gz -C /home/hadoop cd /home/hadoop/zookeeper-3.4.9/conf/ cp zoo_sample.cfg zoo.cfg vi zoo.cfg #修改dataDir的值 dataDir=/home/hadoop/zookeeper-3.4.9/tmp #在文件后面添加(server后面的数字与myid保持一致) server.1=namenode-1:2888:3888 server.2=datanode-1:2888:3888 server.3=datanode-2:2888:3888
创建tmp文件,并创建myid文件
mkdir /home/hadoop/zookeeper-3.4.9/tmp echo 1 > /home/hadoop/zookeeper-3.4.9/tmp/myid
将配置好的zookeeper文件夹传到其他机器上
scp -r /home/hadoop/zookeeper-3.4.9 hadoop@xxxx:~
然后分别更改其他机器的myid文件,对应配置文件中server后面的数字。分别启动三台机器的zookeeper
cd /home/hadoop/apps/zookeeper-3.4.9/bin/ ./zkServer.sh start
查看目前zookeeper状态,一个leader,两个follower,命令如下:
./zkServer.sh status
安装Hadoop
解压Hadoop安装包tar zxvf hadoop-2.7.3.tar.gz
配置各项配置文件
hadoop-env.sh
在hadoop-env.sh中配置JAVA_HOME环境变量
export JAVA_HOME="/usr/java/jdk1.8.0_121"
core-site.xml
用于定义系统级别的参数,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://namenode-1:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </configuration>
hdfs-site.xml
HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/hadoopdata/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/hadoopdata/data</value> </property> <property> <name>dfs.blocksize</name> <value>268435456</value> </property> </configuration>
mapred-site.xml
HDFS的相关设定,如reduce任务的默认个数、任务所能够使用内存的默认上下限等
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hmaster:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hmaster:19888</value> </property> </configuration>
yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>namenode-1:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>namenode-1:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>namenode-1:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>namenode-1:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>namenode-1:8088</value> </property> </configuration>
slaves
Hadoop集群的slave主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和NodeManager
datanode-1
datanode-2
将上面配置好的hadoop文件夹scp拷贝到其他两台机器上。
格式化HDFS存储
进入hadoop目录
# bin/hdfs namenode -format
在格式化过程中注意输出结果,成功后会有类似下面的输出:
17/05/17 16:18:16 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = namenode-1/192.168.8.3 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.7.3 ...... 17/05/17 16:18:17 INFO common.Storage: Storage directory /home/hadoop/hadoopdata/name has been successfully formatted. 17/05/17 16:18:18 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0 17/05/17 16:18:18 INFO util.ExitUtil: Exiting with status 0 17/05/17 16:18:18 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at namenode-1/192.168.8.3 ************************************************************/
启动Hadoop服务
启动和停止脚本位于${HADOOP_HOME}下sbin目录
启动HDFS
# sbin/start-dfs.sh
启动Yarn
# sbin/start-yarn.sh
启动MapReduce JobHistory Server
# sbin/mr-jobhistory-daemon.sh start historyserver
验证服务是否正常运行
查看Master节点上服务:
[hadoop@namenode-1 hadoop]$ jps 4283 NameNode 4643 ResourceManager 4466 SecondaryNameNode 5259 Jps 5173 JobHistoryServer
查看Master节点上服务:
[hadoop@datanode-1 ~]$ jps 3116 Jps 2844 DataNode 2976 NodeManager
各服务Web UI默认端口
NameNode 50070 ResourceManager 8088 MapReduce JobHistory Server 19888
登录各服务Web界面查看服务运行状况。
停止Hadoop服务
停止HDFS
# sbin/stop-dfs.sh
停止Yarn
sbin/stop-yarn.sh
停止MapReduce JobHistory Server
# sbin/mr-jobhistory-daemon.sh stop historyserver
安装HBase
解压HBase安装包tar hbase-1.2.4.tar.gz
配置HBase
hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_121 export HBASE_MANAGES_ZK=false
hbase-site.xml
<configuration> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://namenode-1:9000/hbase</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>namenode-1,datanode-1,datanode-2</value> </property> </configuration>
regionservers
配置regionservers主机列表
datanode-1
datanode-2
将配置好的hbase目录scp到其他两天机器上。
启动停止HBase
HBase脚本位于${HBASE_HOME}/bin目录下。
# bin/start-hbase.sh
停止HBase
# bin/stop-hbase.sh
查看HBase状态
分别在Master节点和Slave节点上使用jps查看HBase相关进程是否正常运行
[hadoop@namenode-1 ~]$ jps 2302 ResourceManager 1942 NameNode 1730 QuorumPeerMain 3781 HMaster 4653 Jps 2127 SecondaryNameNode [hadoop@datanode-1 ~]$ jps 2268 HRegionServer 1915 NodeManager 1804 DataNode 1662 QuorumPeerMain 2715 Jps
可进入HBase Web UI进行查看,默认端口为16010。
参考文章:
http://www.coolee.me/hadoop-hbase-installation.html
相关文章推荐
- 快速搭建hadoop环境
- [精华]Hadoop,HBase分布式集群和solr环境搭建
- [精华]Hadoop,HBase分布式集群和solr环境搭建
- Win7下快速搭建hadoopEclipse运行环境--方案
- 在不到1G内存机器上快速搭建一个hadoop环境
- 快速搭建 Hadoop 分布式环境
- VMWare下快速搭建Hadoop完全分布式环境
- 详解从 0 开始使用 Docker 快速搭建 Hadoop 集群环境
- Hadoop,HBase分布式集群和solr环境搭建
- 快速搭建 Hadoop 环境 推荐
- 【hadoop】hadoop环境快速搭建
- [精华]Hadoop,HBase分布式集群和solr环境搭建
- Win7下快速搭建hadoopEclipse运行环境--方案
- Hadoop初体验:快速搭建Hadoop伪分布式环境
- hadoop3.1.0 HDFS快速搭建伪分布式环境
- hadoop环境快速搭建
- docker + ambari(hortonworks ) 快速搭建hadoop 环境
- 高效5步走,快速搭建Hadoop2伪分布环境
- Android开发环境快速搭建(使用ADT Bundle)
- PHP学习笔记。。环境快速搭建/等