前提准备注: hbase的安装需要hadoop和zookeeper和hbase,生产环境下需要将zookeeper独立安装,hbase软件选择cloudera的cdh3u0,这样不会出现版本不兼容等问题。apache的版本需要重新编译hadoop0.20.2-appender版以保证没有数据丢失。 1、机器集群结构分布 使用8台曙光服务器搭建集群,ip为 *.*.83.1-8,hostname为hadoop-node1到hadoop-node8,其中 机器名 IP 所安装的程序 hadoop-node1 49.123.83.1 hadoop namenode / hbase HMaster hadoop-node2 *.*.83.2 hadoop datanode / hbase HRegionServer hadoop-node3 *.*.83.3 hadoop datanode / hbase HRegionServer hadoop-node4 *.*.83.4 hadoop datanode / hbase HRegionServer hadoop-node5 *.*.83.5 hadoop datanode / hbase HRegionServer hadoop-node6 *.*.83.6 hadoop datanode HRegionServer zookeeper hadoop-node7 *.*.83.7 hadoop datanode HRegionServer zookeeper hadoop-node8 *.*.83.8 hadoop secondNamenode / hbase HMaster zookeeper
2.硬件环境:
8台曙光服务器,cpu8核,每台机器都有两个500GB硬盘。
操作系统:SUSE enterprise 11
操作系统分区:
硬盘1:sda
/boot 400MB
/Swap 10GB
/ 余下的sda空间
硬盘2:/sdb2 都挂载在/sdb2上
3.提前准备相关软件
Jdk: jdk-6u30-linux-x64.bin
Hadoop: hadoop-0.20.2-cdh-3u**
Zookeeper: zookeeper-3.3.5-cdh3u**
Hbase: hbase-0.906-c*******、
详细操作:
当前用户 hadoop
/home/ hadoop/app
/app/hadoop/hadoop1.0.0/
/app/hbase/hbase0.92.0/
/app/zookeeper/zoookeeper3.3.4/
Step1 安装SUSE及搭建基本环境1. 1.操作系统具体安装可以随意,尽量保证每台机器一致,如每台的机器名,和ip配置都要符合上面所规划,这样方便之后的操作
2. 2.在所有机器上,创建hadoop用户
3. 3.保证每台suse服务器上的ssh服务都已经启动
4. 4.在每台机器上/home/hadoop/下新建如下一些目录/program/java; /app/hadoop; /app/hbase; /app/zookeeper; /app/zookeeperdata
5. 5.将相应的软件上传到实体机,
6. 6.在hadoop-node1上解压hadoop和hbase
# tar zxvf hadoop-0.20.2-cdh3u0.tar.gz # tar zxvf hbase-0.90.1-cdh3u0.tar.gz
7. 7.hadoop-node6在上解压zookeeper
# tar zxvf zookeeper-3.3.3-cdh3u0.tar.gz
8. 8.在节点1-5,8上修改/etc/profile
export JAVA_HOME=/home/hadoop/program/java/jdk1.6.0_30 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH export HADOOP_HOME=/home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u4 export HBASE_HOME=/home/hadoop/app/hbase/hbase-0.90.6-cdh3u4 9. 在节点6,7上修改/etc/profile
export JAVA_HOME=/home/hadoop/program/java/jdk1.6.0_30 export OOKEEPER_HOME=/home/hadoop/app/zookeeper/zookeeper-3.3.5-cdh3u4 export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/conf:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH 10. ssh免密码登录
用hadoop用户登录所有机器,在/home/hadoop/下建立.ssh目录;
运行 # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
这样会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。
# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
拷贝authorized_keys到2 到8
#scp/home/hadoop/.ssh/authorized_keys hadoop@*.*.83.2:/home/hadoop/.ssh/
……
#scp/home/hadoop/.ssh/authorized_keys hadoop@*.*.83.8:/home/hadoop/.ssh/
11. 11.修改hosts文件,每一台实体机配置都如下
# sudo vim /etc/hosts
从1登录1,2…8用hostname(hadoop-nodeX),第一次需要确认,以后就可以直接登录。
# ssh hadoop-node1
# ssh hadoop-node2
# ssh hadoop-node3
# ssh hadoop-node4
# ssh hadoop-node5
# ssh hadoop-node6
# ssh hadoop-node7
# ssh hadoop-node8
部分操作截图:
1.上传jdk 最好是使用64系统
2.上传hadoop,hbase,zookeeper
Step2 安装JDK1. #cd java
2. #chmod +x jdk-6u30-linux-x64.bin
3. ./jdk-6u24-linux-x64.bin
Hadoop 安装 1.在节点1和节点8上分别都创建/data
mkdir /home/hadoop/data
2.在节点2和5上分别都创建 /disk1,/disk2,/disk3
即mkdir /home/hadoop/disk1 disk2 disk3
3.vim /home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/hadoop-env.sh
4.修改/home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/core-site.xml
添加,截图如下:
5.修改/home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/hdfs-site.xml
截图:
6.vi home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/mapred-site.xml
截图:
7. 修改/home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/masters
截图:
8. 修改/home/hadoop/app/hadoop/hadoop-0.20.2-cdh3u0/conf/slaves
截图:
9.很关键的一步:
拷贝节点1的hadoop到2-5,8
#scp –r ./hadoop-0.20.2-c**/ hadoop@*.*.*.2:/home/hadoop/app/hadoop/
…
#scp –r ./hadoop-0.20.2-c**/ hadoop@*.*.*.5:/home/hadoop/app/hadoop/
…
10. 格式化hadoop文件系统
# hadoop namenode –format
11.启动hadoop,在1上运行
# start-all.sh
注:运行jps 查看各个节点运行情况截图:
节点1(主节点):
节点2或3、4、5(数据节点):
节点6或7 (Zookeeper节点):
节点8(secondName和Hbase Master节点):
查看集群状态:http://*.*.83.1:50070/dfshealth.jsp
查看集群状态:http://*.*.83.1:50030/dfshealth.jsp
Zookeeper 安装1. 在节点6,7上创建/home/hadoop/zookeeperdata目录
修改6的/home/hadoop/app/zookeeper/zookeeper-3.3.3-cdh3u0/conf/zoo.cfg
2. 拷贝6的zookeeper到7
# scp –r ./zookeeper-3.3.3-*/ hadoop@*.*.*.7:/home/hadoop/app/zookeeper/
3.在6,7的/home/hadoop/zookeeperdata目录下建myid文件,内容分别为1,2,3 启动zookeeper, 4.在6,7上分别执行 # zkServer.sh start 5.启动后可以使用 # zkServer.sh status 查看状态
Hbae 安装
1. 在节点1上修改/home/hadoop/app/hbae/hbase-0.90.1-cdh3u0/conf/hbase-env.sh
export JAVA_HOME=/home/hadoop/program/java/jdk1.6.0_30
export HBASE_MANAGES_ZK=false
2.在节点1上修改/home/hadoop/app/hbase/hbase-0.90.1-cdh3u0/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop-node1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hadoop-node6,hadoop-node7</value>
</property>
</configuration>
3. 在1上修改/home/hadoop/app/hbase/hbase-0.90.1-cdh3u0/conf/regionservers
在regionservers中添加如下内容:
hadoop-node2
hadoop-node3
hadoop-node4
hadoop-node5
4.拷1的hbase到2,3,4,5 8
# scp -r ./hbase-0.90.1-cdh**/ hadoop@*.*.*.2:/home/hadoop/app/hbae/
…..
5. 启动hbase
在节点1上执行
# start-hbase.sh
6.启动hbase的第二个HMaster
在节点8上上执行
# hbase-daemon.sh start master
7. 查看Region Server:
http://*.*.83.1:60030/regionserver.jsp
8. 查看ZK:
http://*.*.83.1:60010/zk.jsp
注:启动顺序 1.hadoop 2.zookeeper 3.hbase 4.第二个HMaster 停止顺序 1.第二个HMaster, kill-9删除 2.hbase 3.zookeeper 4.hadoop
|