1.    最近公司搭建hadoop+hbase+zookeeper集群,期间遇到了许多问题,这里和大家分享一下安装的一些经验,目的在于大家在部署hadoop集群环境中少走一些弯路:  
  2. 由于刚开始的时候我用虚拟机安装,安装版本是hadoop0.20.2+hbase0.90.3+zookeeper3.3.3版本,在测试hbase集群的时候hmaster不能正常启动或者是启动后进程自杀(在网上找到的答案应该是虚拟机的内存小,不支持0.90.x以后的hbase版本启动hmaster),最后hbase换成0.20.6或者是0.89.X版本的测试没有问题;  
  3. hadoop的下载地址http://archive.apache.org/dist/hadoop/common/  
  4. hbase的下载地址:http://archive.apache.org/dist/hbase/  
  5. zookeeper的下载地址:http://archive.apache.org/dist/hadoop/zookeeper/  
  6. 1、 我的主机配置如下:(添加到/etc/hosts文件里面)    
  7. 192.168.0.211 master  (用于集群主机提供hmaster namenode jobtasker服务 )  
  8. 192.168.0.212 s1      (用于集群丛机提供regionsrever datanode  tasktacuter服务)  
  9. 192.168.0.213 s2  
  10.  
  11. 2、安装jdk1.6.2.X  
  12.  
  13. 3、添加java环境变量(/etc/profile),后执行source /etc/profile ,使环境变量立即生效  
  14. export JAVA_HOME=/usr/java/jdk1.6.0_26/  
  15. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
  16. export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin  
  17. export HADOOP_HOME=/home/hadoop/hadoop  
  18. export HBASE_HOME=/home/hadoop/hbase  
  19. PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin  
  20.  
  21. 4、在三台电脑上添加hadoop用户   
  22.  
  23. useradd hadoop  
  24.  
  25. 5、在/home/hadoop/.bashrc添加变量  
  26. (将hadoop hbase的配置文件放到hadoop安装包根目录文件下,目的在于以后升级hadoop和hbase的时候不用重新导入配置文件)  
  27.                  
  28. export HADOOP_CONF_DIR=/home/hadoop/hadoop-config  
  29. export HBASE_CONF_DIR=/home/hadoop/hbase-config  
  30.  
  31. 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拷贝到次文件夹。  
  32.  
  33. 7、修改masters、slaves文件:  
  34.  分别为 master 和s1与s2  
  35.  
  36. 8、修改hadoop-env.sh的变量:  
  37.                
  38. export JAVA_HOME=/usr/java/jdk1.6.0_26/  
  39. export HADOOP_PID_DIR=/home/hadoop/hadoop/tmp  
  40.           
  41. 9、修改core-site.xml  
  42.                         
  43. <configuration> 
  44. <property> 
  45. <name>fs.default.name</name> 
  46. <value>hdfs://master:9000</value> 
  47. </property> 
  48. </configuration> 
  49.  
  50. 修改mapred-site.xml  
  51.  
  52. <configuration> 
  53. <property> 
  54.    <name>mapred.job.tracker</name> 
  55.    <value>hdfs://master:9001/</value> 
  56. </property> 
  57.  
  58. </configuration> 
  59.  
  60. 修改hdfs-site.xml(name和data文件夹不要手动建立)  
  61. <configuration> 
  62. <property> 
  63. <name>dfs.name.dir</name> 
  64. <value>/home/hadoop/hadoop/name</value> 
  65. </property> 
  66. <property> 
  67. <name>dfs.data.dir</name> 
  68. <value>/home/hadoop/hadoop/data/</value> 
  69. </property> 
  70. <property> 
  71.    <name>dfs.replication</name> 
  72.    <value>3</value> 
  73. </property> 
  74.  
  75. 10、设置master, s1, s2  机几台器之间无密码访问:  
  76.             (网上有许多文章,这里就不写了 )  
  77.  
  78. 11、scp -r /home/hadoop/hadoop     s1:/home/hadoop  
  79.  scp -r /home/hadoop/hadoop     s2:/home/hadoop  
  80.  
  81. 12、切换到/home/hadoop/hadoop目录下  
  82. 执行bin/hadoop namenode -format(格式化master主机生成name data tmp等文件夹)  
  83.  
  84.  13、启动namenode   
  85.  执行 bin/start-dfs.sh  
  86.  
  87. 使用jps命令查看nomenode、secondnamenode是否正常启动:  
  88. ie里面输入http://master:50070 查看namenode的相关配置信息、运行状态和日志文件  
  89.  
  90. 14、启动mapred  
  91. 执行 bin/start-mapred.sh  
  92.  使用jps命令查看nomenode、secondnamenode是否正常启动:  
  93. ie里面输入http://master:50030  查看jobtasker的相关配置信息、运行状态和日志文件  
  94.  
  95. hbase+zookeeper集群搭建:  
  96.  
  97. 1、将/home/hadoop/hadoop/conf/目录下的hbase-site.xml、regionserver和hbase-env.sh拷贝到/home/hadoop/hbase-config/目录下;  
  98. 编辑hbase-site.xml配置文件,如下:  
  99. <property> 
  100. <name>hbase.rootdir</name> 
  101. <value>hdfs://master:9000/hbase</value> 
  102. </property> 
  103. <property> 
  104. <name>hbase.cluster.distributed</name> 
  105. <value>true</value> 
  106. </property> 
  107. <property> 
  108. <name>hbase.master</name> 
  109. <value>master</value> 
  110. </property> 
  111. <property> 
  112. <name>hbase.zookeeper.quorum</name> 
  113. <value>s1,s2</value> 
  114. </property> 
  115. <property> 
  116. <name>zookeeper.session.timeout</name> 
  117. <value>60000000</value> 
  118. </property> 
  119. <property> 
  120. <name>hbase.zookeeper.property.clientport</name> 
  121. <value>2222</value> 
  122. </property> 
  123.  
  124. 2、编辑regionserver文件  
  125.  
  126. S1  
  127. S2  
  128.  
  129. 3、编辑hbase-env.xml文件  
  130.  
  131. export JAVA_HOME=/usr/java/jdk1.6.0_26/  
  132. export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
  133. export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin  
  134. export HADOOP_HOME=/home/hadoop/hadoop  
  135. export HBASE_HOME=/home/hadoop/hbase  
  136. export HBASE_MANAGES_ZK=true 
  137. export PATH=$PATH:/home/hadoop/hbase/bin  
  138.  
  139. 4、scp -r /home/hadoop/hbase     s1:/home/hadoop  
  140.      scp -r /home/hadoop/hbase    s2:/home/hadoop  
  141.  
  142. 5、进入/home/hadoop/zookeeper/conf/中  
  143.  
  144. (1)cp    zoo_sample.cfg    zoo.cfg  
  145.  
  146. (2)vim zoo.cfg,如下:  
  147.  
  148. # The number of milliseconds of each tick  
  149. tickTime=2000 
  150. # The number of ticks that the initial  
  151. # synchronization phase can take  
  152. initLimit=10 
  153. # The number of ticks that can pass between  
  154. # sending a request and getting an acknowledgement  
  155. syncLimit=5 
  156. # the directory where the snapshot is stored.  
  157. dataDir=/home/hadoop/zookeeper/data  
  158. # the port at which the clients will connect  
  159. clientPort=2181 
  160. server.1=s1:2888:3888  
  161. server.2=s2:2888:3888  
  162.  
  163. (3)touch myid  
  164.  
  165. 编辑:1(此序号设置和zoo.cfg里面的server设置要对应)  
  166. scp -r /home/hadoop/zookeeper   s1:/home/hadoop  
  167. scp -r /home/hadoop/zookeeper  s2:/home/hadoop  
  168.  
  169. (4)在所有的节点执行chown -R hadoop.hadoop /home/hadoop  
  170.  
  171. 启动hbase集群:  
  172.  
  173. (1)/home/hadoop/hbase/bin/start-base.sh  
  174.  
  175. (2)执行jps显示Hmaster是否启动  
  176.  
  177. (3)执行bin/hbase shell  
  178.  
  179.   (4)>create 't1' t2'' 't3'(测试利用hmaster插入数据)  
  180.     > list (显示已经插入的数据)  
  181.     >t1+t2+t3  
  182.  
  183. 输入:http://master:60010  


     QQ截图未命名.png

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