快速搭建hadoop+hbase分布式集群
来源:互联网 发布:三级医疗卫生服务网络 编辑:程序博客网 时间:2024/09/21 09:22
目录
- 目录
- hadoop集群部署
- zookeeper集群部署
- HBase部署
- 结语
hadoop集群部署
1、 准备三台机器,如10.8.177.23
,10.8.177.24
,10.8.177.25
2、 修改主机名称,配置hosts
文件(root用户下操作):
# 每台机器执行,我这里hd开头,后边的数字与机器ip的最后一个组一致hostnamectl set-hostname hd-23 hostnamectl set-hostname hd-23 --static# 修改hosts文件,vi /etc/hosts#加入路由配置10.8.177.23 hd-2310.8.177.24 hd-2410.8.177.25 hd-25
3、每台机器上创建一个用户,如hadoop:
useradd -d /home/hadoop -m hadoop# 最好创建一个用户,不要直接使用root进行操作
4、设置免密登录(==hadoop用户,下同==)
只需要设置master对于其他两台机器进行免密登录即可
# 1、 在Master机器上的主目录中生成ssh公钥ssh-keygen -t rsa # 2、 在其余机器上主目录中创建.ssh目录(执行上边的命令也可以)# 3、 将Master的公钥发送给其余两台服务器(需要输入免密)scp id_rsa.pub hadoop@hd-24:/home/hadoop/.ssh/id_rsa.pub.23scp id_rsa.pub hadoop@hd-25:/home/hadoop/.ssh/id_rsa.pub.23# 4、 在.shh中创建authorized_keys文件,并授权touch authorized_keyschmod 644 authorized_keys# 5、 将Master的公钥加入到授权文件中echo id_rsa.pub.23 >> authorized_keys# 以上,即可从23无密访问24,25,可以使用以下命令测试:ssh hd-24
5、 下载jdk、hadoop、hbase、zookeeper
- jdk(也可以自行下载):
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz
- zookeeper-3.4.8.tar.gz :
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz
- hbase-1.2.2-bin.tar.gz:
http://mirrors.hust.edu.cn/apache/hbase/1.2.2/hbase-1.2.2-bin.tar.gz
- hadoop-2.7.2.tar.gz:
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
解压以上文件
tar
6、 配置环境变量
vi ~/.bashrcJAVA_HOME=/home/hadoop/jdk1.8.0_77JRE_HOME=$JAVA_HOME/jreCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarHADOOP_HOME=/home/hadoop/hadoop-2.7.2HBASE_HOME=/home/hadoop/hbase-1.2.2PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HBASE_HOME/sbinexpor JAVA_HOME JRE_HOME CLASSPATH HADOOP_HOME HBASE_HOME# 配置完成以后进行编译生效source .bashrc#发送给其余机器scp .bashrc hadoop@hd-24:/home/hadoop/
7、 配置hadoop
hadoop的配置文件位于
hadoop-2.7.2/etc/hadoop
下,需要配置core-site.xml
,hdfs-site.xml
,yran-site.xml
,mapred-site.xml
,hadoop-env.sh
,slaves
- core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hd-23:6000</value> <final>true</final> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/configsets/hadoop_tmp</value> </property> <property> <name>fs.checkpoint.period</name> <value>3600</value> </property> <property> <name>fs.checkpoint.size</name> <value>67108864</value> </property></configuration>
- hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/configsets/metadata</value> </property> <property> <name>dfs.http.address</name> <value>hd-23:50070</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hd-23:50090</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/configsets/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property></configuration>
- yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>hd-23</value> </property> <property> <name>yarn.resourcemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log.dir</name> <value>/home/hadoop/configsets/yarn_log</value> </property></configuration>
- mapred-site.xml,这个文件如果不存在的话
cp mapred-site.xml.template mapred-site.xml
一个
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.cluster.temp.dir</name> <value>/home/hadoop/configsets/mr_tmp</value> <final>true</final> </property> <property> <name>mapreduce.jobhistory.address</name> <value>hd-23:6002</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>hd-23:6003</value> </property></configuration>
- hadoop-env.sh 将JAVA_HOME配置进去
#将下边这句话注释了,不好用,但按理说应该能用,结果就是不好用#export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/home/hadoop/jdk1.8.0_77
- slaves 文件中加入25,24
hd-24hd-25
8、 打包发送至其他机器
jdk、hadoop、hbase、zookeeper都可以采用这种方式配置后,进行发送,zookeeper稍有不同(详见后文)
tar cf hadoop-2.7.2.tar hadoop-2.7.2scp hadoop-2.7.2.tar hadoop@hd-24:/home/hadoopscp hadoop-2.7.2.tar hadoop@hd-25:/home/hadoopssh hd-24 tar xf hadoop-2.7.2.tarexitssh hd-25tar xf hadoop-2.7.2.tarexit
9、 格式化名称节点
hadoop namenode -farmat
10、启停hadoop集群
# 启动start-all.sh #停止 stop-all.sh
11、jps查看
[hadoop@hd-23 ~]$ jps12304 QuorumPeerMain16208 ResourceManager24322 Jps15843 NameNode16042 SecondaryNameNode[root@hd-24 home]# jps12082 QuorumPeerMain15116 Jps12924 DataNode13036 NodeManager[hadoop@hd-25 ~]$ jps20130 DataNode20242 NodeManager19317 QuorumPeerMain21755 Jps
12、 浏览器查看
> - [hadoop-overview](http://hd-23:50070/)> - [job-tracker-view](http://hd-23:8088/)
zookeeper集群部署
1、 配置,配置文件位于/home/hadoop/zookeeper-3.4.8/conf
cp zoo_sample.cfg zoo.cfgvi zoo.cfgtickTime=2000initLimit=10syncLimit=5dataDir=/home/hadoop/zookeeper-3.4.8/dataclientPort=2181# 这里需要注意下server.{id}server.23=10.8.177.23:2181:3887server.24=10.8.177.24:2182:3888server.25=10.8.177.25:2183:3889
2、数据目录
zoo.cfg定义了dataDir,需要在每个服务器的创建此目录,并建立myid文件,内部存储zoo.cfg中server.{id}的id数值
mkdir /home/hadoop/zookeeper-3.4.8/datacd /home/hadoop/zookeeper-3.4.8/datavi myid23ssh hd-24mkdir /home/hadoop/zookeeper-3.4.8/datacd /home/hadoop/zookeeper-3.4.8/datavi myid24exitssh hd-25mkdir /home/hadoop/zookeeper-3.4.8/datacd /home/hadoop/zookeeper-3.4.8/datavi myid25exit
3、 启停
cd /home/hadoop/zookeeper-3.4.8/bin./zkServer.sh start
HBase部署
1、 配置hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://hd-23:6000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property><property> <name>hbase.zookeeper.quorum</name> <value>hd-23,hd-24,hd-25</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/zookeeper-3.4.8/data</value> </property></configuration>
2、配置regionservers
vi regionservershd-23hd-24
3、 scp发送至其他机器
具体方式参见第一章第9节
4、 启停hbase
==启动hbase之前须先启动hdfs==
start-hbase.shstop-hbase.sh
5、 jps查看
[hadoop@hd-23 bin]$ jps12304 QuorumPeerMain16208 ResourceManager24592 Jps22898 HMaster15843 NameNode23139 HRegionServer16042 SecondaryNameNode[root@hd-24 home]# jps14512 HRegionServer12082 QuorumPeerMain15276 Jps12924 DataNode13036 NodeManager
6、 浏览器查看
- hbase-view
结语
总结
通过以上步骤快速搭建了hadoop环境,在此期间,只有进行SSH免密登录时需要登录其他两台机器进行添加公钥文件,其余均通过一个SSH客户端窗口搞定(其实免密登录也可以)。linux发行版本为centos7,如果使用centos 6.x的版本,修改主机名称略有不同(etc/sysconfig/network
,hosts
,reboot
)。猜想
搭建此环境的目的有两点:
1、 提供一个hadoop测试环境。
2、 为后续采用docker进行快速部署做预研。通过以上搭建过程可知,除了zookeeper的dataDir目录中myid文件内容不同之外,其余的内容均相同,而myid的内容可以通过读取zoo.cfg文件获取,故如果此时要做多机docker集群的话,只要解决了多机docker容器能互相访问(同个局域网),就可以采用同一个镜像进行快速部署。而使多机docker的容器能够访问,可以采用open vSwitch搭建一个局域网,这个也是下个实验的目标。
- 快速搭建hadoop+hbase分布式集群
- Hadoop+HBase+ZooKeeper分布式集群环境搭建
- Hadoop+HBase+ZooKeeper分布式集群环境搭建
- Hadoop分布式 之 Hbase集群搭建
- HBase分布式集群搭建
- hbase分布式集群搭建
- HBase分布式集群搭建
- HBase分布式集群搭建
- hadoop+hbase分布式搭建
- Hadoop HBase集群搭建
- Hadoop集群搭建Hbase
- hadoop+hbase+zookeeper 分布式集群搭建完美运行
- hadoop,zookeeper,hbase搭建完全分布式集群回忆录
- Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- 伪分布式集群环境hadoop、hbase、zookeeper搭建(全)
- hadoop+hbase+zookeeper 分布式集群搭建完美运行
- [精华]Hadoop,HBase分布式集群和solr环境搭建
- ArcGIS Server 安装时创建站点是显示"Failed to create the site. The configuration store location contains server
- 史上最全最强SpringMVC详细示例实战教程
- 简单的时间/日期客户端&服务器程序
- UVa 1220
- Linux 关机/重启/注销命令(7个)
- 快速搭建hadoop+hbase分布式集群
- LeetCode 257. Binary Tree Paths
- Mybatis传参
- 前端优化:DNS预解析提升页面速度
- MTK功能机:怎么解决catcher出现get frame fail(checksum mismatch)
- Windows系统如何安装Redis?
- 自定义view xib
- Android 系统状态栏一体化实现
- java学习总结(16.07.25)File类及其用法