Hbase集群
Hadoop + zookeeper +hbase 总共三台
Hadoop | 10.75.3.15/16/17 | Rhel7 |
Zookeeper | 10.75.3.15/16/17 | Rhel7 |
Hbase | 10.75.3.15/16/17 | Rhel7 |
一安装JDK
配置JDK环境
修改系统JDK版本/etc/profile
export JAVA_HOME=/opt/java/jdk1.8.0_162
export JAVA_BIN=/opt/java/jdk1.8.0_162/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
二、Zookeeper安装
1、安装三台
配置hosts解析(这里hadoop配置以及配置了)
解压zookeeper至/app/Hadoop/下
2、修改住配置文件
cd /app/hadoop/zookeeper-3.4.6/conf
mv zoo_sample.cfg zoo.cfg
在配置文件中添加 zk
dataDir=/app/hadoop/zookeeper-3.4.6/data 存储数据地址也就是myid存放地址
dataLogDir=/app/hadoop/zookeeper-3.4.6/logs log日志存放目录
server.1=server1:2888:3888 这里server可以换成ip也行
server.2=server2:2888:3888
server.3=server3:2888:3888
echo “1” > /app/hadoop/zookeeper-3.4.6/data/myid 这里myid三台都需要修改但不能相同
解压后吧文件拷贝至server2级server3就行
三、安装hadoop
1、三台都需要修改主机名及ssh免密
hostnamectl set-hostsname server1
hostnamectl set-hostsname server2
hostnamectl set-hostsname server3
vim /etc/hosts
10.75.3.15 server1
10.75.3.16 server2
10.75.3.17 server3
配置ssh免密
ssh-keygen 后回车
ssh-copy-id server1:
ssh-copy-id server2:
ssh-copy-id server3:
这里需要手动登陆第一次
如果不想用命令就手工拷贝每台主机的id_rsa.pub内容至authorized_keys文件中
2、安装hadoop
mkdir /app/Hadoop/
下载hadoop包至该目录
tar xvf hadoop-2.5.1.tar.gz
修改hadoop配置文件
cd /app/hadoop/hadoop/etc/Hadoop
配置jdk vim hadoop-env.sh
export JAVA_HOME=/opt/java/jdk1.8.0_191
配置core vim core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://server1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>13170</value>
</property>
</configuration>
第一项指定文件系统为 server 1节点 9000 端口上的 HDFS,第二项指定 hadoop 所有数据的保 存路径(该路径要存在),该项默为/tmp/hadoop-{username},系统重启可能会导致数据丢失。
配置mapred vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>server1:9001</value>
</property>
<property>
<name>mapred.map.java.opts</name>
<value>-Xmx256m</value>
</property>
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx256m</value>
</property>
</configuration>
第一项指定 JobTracker 的服务端口为 node0 的 9001 端口,第二、三项设定 jvm 堆空间,防 止运行 Map-Reduce 作业时出现内存不足,这两项要根据实际的需要和系统空闲的内存容量设定
配置hdfs vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
</property>
</configuration>
第一项设定了文件系统备份的个数,通常为 3,第二项允许对文件的 append 操作,是为 HBase 设置的,第三项关闭权限检查,方便以后的远程的 hadoop-eclipse 插件访问 hdfs,第四项设 置 DataNode 同时可供访问的文件数上限,由于 HBase 需要同时操作大量的文件,该项至少 要设置为 4096
Masters vim masters
server1
此文件指定 HDFS 的 SecondaryNameNode 所在的节点,本文中该文件只有一行:
配置slaves
Server1
Server2
Server3
把修改的配置文件拷贝至server2及server3中
[root@server1 hadoop]# scp * server2:/app/hadoop/hadoop/etc/hadoop/
[root@server1 hadoop]# scp * server3:/app/hadoop/hadoop/etc/hadoop/
3、启动hadoop检查端口
进入sbin下执行
第一次安装需先格式化HDFS后启动hadoop
进入bin下执行
执行完成后在进入sbin下启动
再次刷新页面
Hadoop集群启动出现故障,
进入/app/hadoop/hadoop/etc/hadoop下
检查slaves配置文件是否正常、检查hosts是否正常,一般大多为域名修改导致.
四、安装hbase
1、解压hbase文件并拷贝zoo.cfg至hbase配置文件中
cd /app/hadoop
tar –xf hbase-1.3.1-bin.tar
mv hbase-1.3.1 hbase
cd /app/hadoop/hbase/conf
2、编辑hbase-env.sh
export JAVA_HOME=/opt/java/jdk1.8.0_191 定义jdk
注释46行及47行
export HBASE_MANAGES_ZK=false 定义不使用默认zk
3、编辑regionservers
server1
server2
server3
这里为启用61020端口,也就是后面管理端显示的。
4、配置hbase-site.xml
注意:这里hfds为hdfs的端口。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://server1:9000/hbase</value>
</property>
<!-- 指定hbase是分布式的 -->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!-- 指定zk的地址,多个用“,”分割 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>server1:2181,server2:2181,server3:2181</value>
</property>
</configuration>
5、启动hbase
cd /app/hadoop/hbase/bin
./start-hbase.sh
6、检查端口并查看web
五、hbase启动方式及停止方式
1、启动方式
先启动hadoop ---- >> zk ---- >> hbase
2、停止方式
先停止hbase ---- >> zk ---- >> hadoop
六、异常处理(HDFS异常)
1、异常问题
hdfs,slvae节点启动后服务显示正常,但启动端口没有,检查配置文件都正常时
1、stop掉服务查看是否有异常。
2、查看log日志是否有异常
3、根据异常查找问题.
datanode的clusterID 和 namenode的 clusterID 不匹配。
2、解决办法:
1、 打开 hadoop/tmp/dfs/namenode/name/dir 配置对应目录下的 current 目录下的 VERSION 文件,拷贝clusterID;
2、 打开 hadoop/tmp/dfs/datanode/data/dir 配置对应目录下的 current 目录下的 VERSION 文件,用拷贝的 clusterID 覆盖原有的clusterID;
3、 保存后重新启动 hadoop,datanode 进程就能正常启动了。
其中个datanode的clusterID与namenode的clusterID需要一致