分布式环境搭建文档
Hadoop2.7.4+hbase1.3.1+jdk1.8+zookeeper3.4.9
- 分布式和伪分布式的区别
- 简单的一句话概括一下,就是一台机器和多台机器的区别,加了一个zookeeper的配置,zookeeper就是为了进行集群间信息同步协助框架,把相关进程启动就可以了。
- 首先搭建一个伪分布式的环境
- 首先修改主机名、关闭防火墙、配置主机名和ip间的映射关系
- 配置ssh免密码登录
ssh-keygen -t rsa
- 修改hadoop的配置信息
- 安装合适版本的jdk。如果版本不一致,也会有错哦!
- 要保证伪分布式能够运行起来哟!!!
- 克隆虚拟机、利用修改相关配置文件
- 克隆两台虚拟机(完整克隆)
- 修改hostname、修改ip、修改完以后重启机器。
- 修改主机映射关系(/etc/hosts文件)
192.168.159.4 hadoop
192.158.159.5 hadoop1
192.158.159.6 hadoop2
添加到该文件中。
- 配置三天机器免密码登录操作。
ssh-keygen -t rsa 生成公钥文件
cp id_rsa.pub authorized_keys copy 生成文件
ssh-copy-id -i + 主机名 把本机的公钥copy到主机名对应的机器里面
最终结果:
如果配置完成一个像上述结果一样的话,其他的直接风发就可以了。
scp authorized_keys hadoop1:/root/.ssh/authorized_keys
scp + 本机文件地址 远程主机名:+ 远程主机名地址
- 免密码登录、主机名映射关系,hadoop伪分布式都ok以后。
- Hadoop分布式搭建。修改俩文件
一个是 hdfs-site.xml 修改副本数
第二个修改slaves文件:
1、配置完成后,用scp分发到另外两个节点里面
2、然后 格式化namenode,启动hadoop
hdfs namenode -format
start-dfs.sh start-yarn.sh == start-all.sh
- 然后分布式hadoop完毕!!!
- 配置zookeeper集群
- 首先修改ZK_HOME/conf/zoo_sample.cfg 改成 zoo.cfg
- 修改内容:
server.0=hadoop:2888:3888
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
dataDir=/opt/zookeeper-3.4.9/data
- 然后在/opt/zookeeper-3.4.9/data 下面创建 myid 文件,分别是0,1,2
效果如下图:
启动zookeeper集群
- zkServer.sh start
- zkServer.sh status 查看状态 一个leader,两个follwer,就对了
- 配置hbase集群
- 修改配置文件 conf/hbase-env.sh
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/opt/jdk1.8.0_191
- 修改hbase-site.xml 文件
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop,hadoop1,hadoop2</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/hbase-1.3.1/hbasedata</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
具体解释可参考连接:
http://www.cnblogs.com/bookwed/p/5336508.html
- 然后修改regionserver
- 然后配置完毕以后,将Hbase分发到另外两个节点
scp -r /opt/hbase-1.3.1 hadoop1:/opt/
2、确认zookeeper集群是否启动成功,如果成功,那就启动hbase。
3、start-hbase.sh