Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
来源:互联网 发布:淘宝的收藏店铺在哪里 编辑:程序博客网 时间:2024/06/06 06:37
转自:http://weir2009.iteye.com/blog/2082719
Ip
主机名
程序
进程
192.168.137.11
h1
Jdk
Hadoop
hbase
Namenode
DFSZKFailoverController
Hamster
192.168.137.12
h2
Jdk
Hadoop
hbase
Namenode
DFSZKFailoverController
Hamster
192.168.137.13
h3
Jdk
Hadoop
resourceManager
192.168.137.14
h4
Jdk
Hadoop
Zookeeper
hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HRegionServer
192.168.137.15
h5
Jdk
Hadoop
Zookeeper
Hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HRegionServer
192.168.137.16
h6
Jdk
Hadoop
Zookeeper
hbase
Datanode
nodeManager
JournalNode
QuorumPeerMain
HRegionServer
准备工作
1. 修改Linux主机名
Vim /etc/sysconfig/network
添加 HOSTNAME=h1
2. 修改IP
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改IPADDR=192.168.137.11
3. 修改主机名和IP的映射关系
Vim /etc/hosts
添加192.168.137.11 h1
4. 关闭防火墙
service iptables stop
5. ssh免登陆
ssh-keygen –t rsa //产生公钥和私钥
拷贝公钥到其他电脑(h2为主机名)
ssh-copy-id -i h2
6. 安装JDK,配置环境变量等
这里可以在一台电脑上配置,然后拷贝到其他电脑
scp –r /home/jdk/ h2:/home/
都做完可以重启一下电脑
安装zookeeper
解压 tar –zxvf zookeeper-3.4.6.tar.gz
1.修改配置文件conf/ zoo_sample.cfg 为zoo.cfg
mv zoo_sample.cfg zoo.cfg
打开修改内容:
dataDir=/home/gj/zookeeper-3.4.6/data //数据目录,可随意定义
最后面添加:
server.1=h4:2888:3888
server.2=h5:2888:3888
server.3=h6:2888:3888
// server.X=A:B:C
其中X是一个数字, 表示这是第几号server.
A是该server所在的IP地址.
B配置该server和集群中的leader交换消息所使用的端口.
C配置选举leader时所使用的端口.
注意这里需要创建data文件夹
进入data文件夹创建文件myid 内容为1
1表示这是第几号server, 与server.X=A:B:C中的X对应
2.将配置到的zookeeper拷贝到其他电脑(h2,h3)上
使用 scp -r 命令
分别修改 myid文件内容为2,3
1. 启动三个节点的 bin目录下的./zkServer.sh start
也可以将zookeeper 配置到环境变量里面
安装hadoop
修改文件:
1.hadoop-env.sh
export JAVA_HOME=/usr/hadoop/jdk //添加java环境
2.core-site.xml
<configuration>
<!--指定hdfs的nameservice为ns1-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns1</value>
</property>
<!--指定hadoop数据存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/hadoop-2.4.0/tmp</value>
</property>
<!--指定zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>h4:2181,h5:2181,h6:2181</value>
</property>
</configuration>
2. hdfs-site.xml
<configuration>
<!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ns1</value>
</property>
<!-- ns1下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns1</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn1</name>
<value>h1:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn1</name>
<value>h1:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns1.nn2</name>
<value>h2:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns1.nn2</name>
<value>h2:50070</value>
</property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://h4:8485;h5:8485;h6:8485/ns1</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/root/hadoop/hadoop-2.4.0/journal</value>
</property>
<!-- 开启NameNode失败自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!-- 使用隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
</configuration>
4. mapred-site.xml.template 重命名为mapred-site.xml
<configuration>
<!-- 指定mr框架为yarn方式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5. yarn-site.xml
<configuration>
<!-- 指定resourcemanager地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>h3</value>
</property>
<!-- 指定nodemanager启动时加载server的方式为shuffle server -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6.slaves
h4
h5
h6
将在一台电脑上配置好的hadoop拷贝到其他电脑
启动hadoop 和zookeeper(已配置到环境变量里面)
1.先启动zookeeper在h4,h5,h6上
zkServer.sh start
查看状态zkServer.sh status(会发现有一个leader,两个follower)
2. 启动journalnode(在h1上启动)
hadoop-daemons.sh start journalnode
3.格式化HDFS(在h1上启动)
hadoop namenode –format
此时会在hadoop目录里面产生tmp文件夹,将这个文件夹拷贝到h2上
3. 格式化ZK(在h1上启动)
hdfs zkfc –formatZK
4. 启动hadoop(在h1上启动)
start-all.sh
此时可能在h3上的resourceManager没有启动,可以进入h3启动start-yarn.sh
这时就可以通过web查看hadoop集群的各个状态,也可以用jps 命令查看进程
hbase 集群配置
1. conf/hbase-env.sh
java_home=java路径
export HBASE_MANAGES_ZK=false
使用独立的ZooKeeper时需要修改HBASE_MANAGES_ZK值为false,为不使用默认ZooKeeper实例。
2. conf/hbase-site.xml
<property>
<name>hbase.rootdir</name>
<value>hdfs://h1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>h1:60000</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
<description>The port master should bind to.</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>h4,h5,h6</value>
</property>
3.conf/ regionservers
h4
h5
h6
启动hbase
在h1 上
start-hbase.sh
在h2上
start-hbase.sh
这是可以通过web查看hbase的状态 ,会发现像namenode一样有一个Active 状态的hmaster和Standby 状态的hmaster
至此完成集群。
- Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
- Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
- Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
- hadoop--hadoop2.5.2HA高可靠性集群搭建(zookeeper3.4.6+hbase0.98.11)
- hadoop1.2.1+zookeeper3.4.6+hbase0.94集群环境搭建
- hadoop2.5.2HA高可靠性集群搭建(zookeeper3.4.6+hbase0.98.11)
- 搭建ZooKeeper3.4.6集群
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
- hadoop-2.4.0完全分布式集群搭建
- centos7+zookeeper3.4.6集群搭建
- Hadoop2.6.0 + Zookeeper3.4.6 + HBase0.98.9hadoop2环境搭建示例
- Hadoop2.5.2+Zookeeper3.4.6 + HBase0.98.8-hadoop2环境搭建
- Hadoop2.2.0 HA + Jdk1.8.0 + Zookeeper3.4.5 + Hbase0.98 集群搭建详细过程(服务器集群)
- Hadoop2.2.0 HA + Jdk1.8.0 + Zookeeper3.4.5 + Hbase0.98 集群搭建详细过程(服务器集群)
- 【Apache Hadoop系列】Hadoop1.0.4+zookeeper3.5.4+hbase0.94.5分布式部署
- Hadoop2.2.0集群、Hbase0.98.3集群、Storm0.8.2的完全分布式搭建
- zookeeper3.4.6分布式集群安装部署记录
- js 正则
- Osgi的简单实现
- 学习C++ effective
- org.springframework.beans.NotWritablePropertyException
- 移动网络策略
- Hadoop 2.4.0+zookeeper3.4.6+hbase0.98.3分布式集群搭建
- java中正则表达式工具类:Pattern和Macher
- “玲珑杯”郑州轻工业学院第八届ACM程序设计大赛暨河南高校邀请赛-正式赛
- 关于androidstudio创建新项目之后
- Eclipse4.3 + weblogic10.3调试配置
- 自定义横向Progressbar
- Messenger的使用
- vim的保存文件和退出命令
- 推流、拉流 HLS RTMP