ainila 发表于 2018-11-1 09:40:45

hadoop+hbase+zookeeper集群安装方法


[*]   最近公司搭建hadoop+hbase+zookeeper集群,期间遇到了许多问题,这里和大家分享一下安装的一些经验,目的在于大家在部署hadoop集群环境中少走一些弯路:
[*]由于刚开始的时候我用虚拟机安装,安装版本是hadoop0.20.2+hbase0.90.3+zookeeper3.3.3版本,在测试hbase集群的时候hmaster不能正常启动或者是启动后进程自杀(在网上找到的答案应该是虚拟机的内存小,不支持0.90.x以后的hbase版本启动hmaster),最后hbase换成0.20.6或者是0.89.X版本的测试没有问题;
[*]hadoop的下载地址http://archive.apache.org/dist/hadoop/common/
[*]hbase的下载地址:http://archive.apache.org/dist/hbase/
[*]zookeeper的下载地址:http://archive.apache.org/dist/hadoop/zookeeper/
[*]1、 我的主机配置如下:(添加到/etc/hosts文件里面)
[*]192.168.0.211 master(用于集群主机提供hmaster namenode jobtasker服务 )
[*]192.168.0.212 s1      (用于集群丛机提供regionsrever datanodetasktacuter服务)
[*]192.168.0.213 s2
[*]
[*]2、安装jdk1.6.2.X
[*]
[*]3、添加java环境变量(/etc/profile),后执行source /etc/profile ,使环境变量立即生效
[*]export JAVA_HOME=/usr/java/jdk1.6.0_26/
[*]export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
[*]export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
[*]export HADOOP_HOME=/home/hadoop/hadoop
[*]export HBASE_HOME=/home/hadoop/hbase
[*]PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin
[*]
[*]4、在三台电脑上添加hadoop用户
[*]
[*]useradd hadoop
[*]
[*]5、在/home/hadoop/.bashrc添加变量
[*](将hadoop hbase的配置文件放到hadoop安装包根目录文件下,目的在于以后升级hadoop和hbase的时候不用重新导入配置文件)
[*]
[*]export HADOOP_CONF_DIR=/home/hadoop/hadoop-config
[*]export HBASE_CONF_DIR=/home/hadoop/hbase-config
[*]
[*]6、将hadoop hbase zookepper的安装包解压到/home/hadoop/下,并重命名为hadoop hbase zookepper,在home/hadoop/下建立hadoop-config和hbase-config文件夹,并且将home/hadoop/hadoop/conf下的masters、slaves、core-site、mapred-sit、hdfs-site、hadoop-env拷贝到此文件夹,将home/hadoop/hbase/conf下的hbase-site和hbase-env.sh拷贝到次文件夹。
[*]
[*]7、修改masters、slaves文件:
[*] 分别为 master 和s1与s2
[*]
[*]8、修改hadoop-env.sh的变量:
[*]
[*]export JAVA_HOME=/usr/java/jdk1.6.0_26/
[*]export HADOOP_PID_DIR=/home/hadoop/hadoop/tmp
[*]
[*]9、修改core-site.xml
[*]
[*]
[*]
[*]fs.default.name
[*]hdfs://master:9000
[*]
[*]
[*]
[*]修改mapred-site.xml
[*]
[*]
[*]
[*]   mapred.job.tracker
[*]   hdfs://master:9001/
[*]
[*]
[*]
[*]
[*]修改hdfs-site.xml(name和data文件夹不要手动建立)
[*]
[*]
[*]dfs.name.dir
[*]/home/hadoop/hadoop/name
[*]
[*]
[*]dfs.data.dir
[*]/home/hadoop/hadoop/data/
[*]
[*]
[*]   dfs.replication
[*]   3
[*]
[*]
[*]10、设置master, s1, s2机几台器之间无密码访问:
[*]            (网上有许多文章,这里就不写了 )
[*]
[*]11、scp -r /home/hadoop/hadoop   s1:/home/hadoop
[*] scp -r /home/hadoop/hadoop   s2:/home/hadoop
[*]
[*]12、切换到/home/hadoop/hadoop目录下
[*]执行bin/hadoop namenode -format(格式化master主机生成name data tmp等文件夹)
[*]
[*] 13、启动namenode
[*] 执行 bin/start-dfs.sh
[*]
[*]使用jps命令查看nomenode、secondnamenode是否正常启动:
[*]ie里面输入http://master:50070 查看namenode的相关配置信息、运行状态和日志文件
[*]
[*]14、启动mapred
[*]执行 bin/start-mapred.sh
[*] 使用jps命令查看nomenode、secondnamenode是否正常启动:
[*]ie里面输入http://master:50030查看jobtasker的相关配置信息、运行状态和日志文件
[*]
[*]hbase+zookeeper集群搭建:
[*]
[*]1、将/home/hadoop/hadoop/conf/目录下的hbase-site.xml、regionserver和hbase-env.sh拷贝到/home/hadoop/hbase-config/目录下;
[*]编辑hbase-site.xml配置文件,如下:
[*]
[*]hbase.rootdir
[*]hdfs://master:9000/hbase
[*]
[*]
[*]hbase.cluster.distributed
[*]true
[*]
[*]
[*]hbase.master
[*]master
[*]
[*]
[*]hbase.zookeeper.quorum
[*]s1,s2
[*]
[*]
[*]zookeeper.session.timeout
[*]60000000
[*]
[*]
[*]hbase.zookeeper.property.clientport
[*]2222
[*]
[*]
[*]2、编辑regionserver文件
[*]
[*]S1
[*]S2
[*]
[*]3、编辑hbase-env.xml文件
[*]
[*]export JAVA_HOME=/usr/java/jdk1.6.0_26/
[*]export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
[*]export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
[*]export HADOOP_HOME=/home/hadoop/hadoop
[*]export HBASE_HOME=/home/hadoop/hbase
[*]export HBASE_MANAGES_ZK=true
[*]export PATH=$PATH:/home/hadoop/hbase/bin
[*]
[*]4、scp -r /home/hadoop/hbase   s1:/home/hadoop
[*]   scp -r /home/hadoop/hbase    s2:/home/hadoop
[*]
[*]5、进入/home/hadoop/zookeeper/conf/中
[*]
[*](1)cp    zoo_sample.cfg    zoo.cfg
[*]
[*](2)vim zoo.cfg,如下:
[*]
[*]# The number of milliseconds of each tick
[*]tickTime=2000
[*]# The number of ticks that the initial
[*]# synchronization phase can take
[*]initLimit=10
[*]# The number of ticks that can pass between
[*]# sending a request and getting an acknowledgement
[*]syncLimit=5
[*]# the directory where the snapshot is stored.
[*]dataDir=/home/hadoop/zookeeper/data
[*]# the port at which the clients will connect
[*]clientPort=2181
[*]server.1=s1:2888:3888
[*]server.2=s2:2888:3888
[*]
[*](3)touch myid
[*]
[*]编辑:1(此序号设置和zoo.cfg里面的server设置要对应)
[*]scp -r /home/hadoop/zookeeper   s1:/home/hadoop
[*]scp -r /home/hadoop/zookeepers2:/home/hadoop
[*]
[*](4)在所有的节点执行chown -R hadoop.hadoop /home/hadoop
[*]
[*]启动hbase集群:
[*]
[*](1)/home/hadoop/hbase/bin/start-base.sh
[*]
[*](2)执行jps显示Hmaster是否启动
[*]
[*](3)执行bin/hbase shell
[*]
[*](4)>create 't1' t2'' 't3'(测试利用hmaster插入数据)
[*]    > list (显示已经插入的数据)
[*]    >t1+t2+t3
[*]
[*]输入:http://master:60010
  

  
   http://sea.adsit.cn/data/attachment/forum/201107/25/155106ncc9hsm0ljjckxh4.png

2011-7-25 15:51:06 上传
下载附件 (10.84 KB)  

  

  



页: [1]
查看完整版本: hadoop+hbase+zookeeper集群安装方法