设为首页 收藏本站
查看: 1257|回复: 0

[经验分享] centos 6 安装Hadoop和Hbase

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-12 09:02:39 | 显示全部楼层 |阅读模式
  本文以三台机器组成的一个Hadoop集群的安装与配置为例。
  三台机器的信息如下:
  hostname 角色          IP
  dc01         mast   192.168.68.57
  dc02         slave   192.168.68.58
  dc03         slave   192.168.68.59
  用户名均为root。
  1.安装JDK1.6并配置好java环境,参考:
CentOS6 安装Tomcat7   中的安装jdk部分
  2.配置centos的SSH无密码登录:
  ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa
  cat ~/.ssh/id_dsa.pub  >> ~/.ssh/authorized_keys
  测试是否配置成功:
  ssh localhost
  第一次运行会提示你是否连接,输入yes回车即可。
  
  修改机器名(以dc01为例,其他两台机器方法相同):
  vi /etc/sysconfig/network-scripts/ifcfg-eth0
  增加一行:
  HOSTNAME=dc01
  保存
  vi /etc/sysconfig/network
  HOSTNAME修改为dc01
  保存
  vi /etc/hosts
  增加以下信息:
  192.168.68.57 dc01
192.168.68.58 dc02
192.168.68.59 dc03
  保存
  至此,hostname修改完毕。重启机器使得hostname生效。
  配置dc01无密码登录dc02、dc03:
  在dc01中
  scp ./.ssh/authorized_keys dc02:~/.ssh/
  scp ./.ssh/authorized_keys dc03:~/.ssh/
  测试无密码登录配置是否成功:
  ssh dc02
  ssh dc03
  下载hadoop,这里使用的是hadoop-1.0.3
  tar -xzvf hadoop-1.0.3.tar.gz
  mv hadoop-1.0.3 /usr/local/hadoop
  
  3. 配置Hadoop:
  关闭防火墙:
  service iptables stop(重启失效)
chkconfig iptables off(重启生效)
  配置NTP服务:
  修改ntp.conf配置文件
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 1.cn.pool.ntp.org
server 1.asia.pool.ntp.org
server 0.asia.pool.ntp.org
用本机器与互联网时钟同步,即作为集群中其他机器的ntp服务器
同理,在其他机器中修改ntp.conf配置文件
server ntpserver
  配置hadoop:
  echo $JAVA_HOME
  把JAVA_HOME 的值拷贝一下,
  修改hadoop-env.sh
  vim /usr/local/hadoop/conf/hadoop-env.sh
  找到:
  # The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
  在下面添加一行:
  export JAVA_HOME=/usr/java/jdk1.6.0_37
  
#将hbase中的jar包加入到hadoop的classpath中去:
  #设置hbase的安装目录:
  export HBASE_HOME=/usr/local/hbase
  # Extra Java CLASSPATH elements.  Optional.
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/hbase-0.94.1.jar:$HBASE_HOME/hbase-0.94.1-test.jar:$HBASE_HOME/conf:${HBASE_HOME}/lib/zookeeper-3.4.3.jar:${HBASE_HOME}/lib/protobuf-java-2.4.0a.jar:${HBASE_HOME}/lib/*
  
  保存
  修改core-site.xml
  vim /usr/local/hadoop/conf/core-site.xml
  将文件改为如下:
  

  
  
  
    fs.default.name
    hdfs://dc01:9000
  

  保存
  修改mapred-site.xml
  vim /usr/local/hadoop/conf/mapred-site.xml  
  

  
  
  
    mapred.job.tracker
    dc01:9001
  

  保存
  修改masters

  vim /usr/local/hadoop/conf/masters
  改为:
  dc01
  保存
  修改slaves
  vim /usr/local/hadoop/conf/slaves
  改为:
  dc02
  dc03
  保存
  修改HDFS
  vim  /usr/local/hadoop/conf/hdfs-site.xml
  

  
  

dfs.name.dir
/opt/hdfs/name
true


dfs.data.dir
/opt/hdfs/data
true

  
  dfs.permissions
false

  
  创建HDFS的存储目录:
  分别到三台机器上创建以下目录:
  第一台:
  mkdir /opt/hdfs/
  mkdir /opt/hdfs/name/
  mkdir /opt/hdfs/data/
  第二台:
  ssh dc02
  mkdir /opt/hdfs/
  mkdir /opt/hdfs/name/
  mkdir /opt/hdfs/data/
  
  第三台:
  ssh dc03
  mkdir /opt/hdfs/
  mkdir /opt/hdfs/name/
  mkdir /opt/hdfs/data/
  
  至此,dc01已经配置完毕,将dc01的hadoop的文件拷贝到其他两台机器:
  scp -r /usr/local/hadoop dc02:/usr/local/
  scp -r /usr/local/hadoop dc03:/usr/local/
   至此整个Hadoop集群配置完毕,下面来启动Hadoop。
  4. 启动Hadoop:
  将hadoop的bin目录添加至当前用户的.bash_profile中:
  cd ~
  vim .bash
  找到PATH一行,在改行后面加入:
  :/usr/local/hadoop/bin/:/usr/local/hbase/bin/
  保存并使其立即生效:
  source .bash_profile
  这样以后可以在任何目录中运行hadoop命令
  cd /usr/local/hadoop/bin/
  ./hadoop namenode -format
  ./start-all.sh
  关闭系统防火墙(最好直接停止防火墙服务,或者可以增加允许通过的端口,具体端口我还没来得及查找)
  service iptables stop
  添加防火墙规则,允许通过网页查看hadoop集群的状态.
   vi /etc/sysconfig/iptables
  增加下面两行:
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 50030 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT
  保存。
  重启iptables服务:
  service iptables restart
  
  通过浏览器输入下面地址查看集群的状态:
  http://192.168.68.57:50070
  通过浏览器输入下面地址查看Map/Reduce状态:
  http://192.168.68.57:50030
  我的打开后是正在初始化,一直是这样,不知道是什么原因(已解决,关掉防火墙即可)。
  成功后:
DSC0000.png
  
DSC0001.png
  
  5. 安装Hbase:
  下载Hbase,本文使用的Hbase版本为:hbase-0.94.1.tar.gz
  将文件上传至服务器dc01,解压缩:
  tar -xzvf hbase-0.94.1.tar.gz
  cp -r  hbase-0.94.1 /usr/local/
  改名字:
  mv  /usr/local/hbase-0.94.1 /usr/local/hbase
  修改hbase配置:
  cd   /usr/local/hbase/conf
  
  vim hbase-env.sh
  将内容修改为下面的配置:
  找到 #export JAVA_HOME=
  修改为: export JAVA_HOME=/usr/java/jdk1.6.0_37
  确保 export HBASE_MANAGES_ZK=true
  保存
  
  vim hbase-site.xml
  将内容修改为以下部分:
  
  




    hbase.rootdir
        hdfs://dc01:9000/hbase   
        
         
            hbase.cluster.distributed
                true     
                 
  
    hbase.master
        dc01:60000
        
         
            hbase.zookeeper.quorum
                dc01,dc02,dc03
               
                 
                     hbase.zookeeper.property.dataDir
                         /usr/local/hbase/zookeeper
                        

  保存
  vim  regionservers
  将内容修改为:
  dc02
dc03
  保存
  至此,Hbase配置完毕.
  将Hbase拷贝到其他机器:
  scp -r /usr/local/hbase dc02:/usr/local
  scp -r /usr/local/hbase dc03:/usr/local
  到现在,hbase安装完毕。
  启动hbase:
  start-hbase.sh
  等脚本执行完毕后,到各个机器上查看下hbase安装是否成功:
  master:
  运行:jps
  
25483 Jps
25275 HMaster
9804 NameNode
10039 JobTracker
25222 HQuorumPeer
9966 SecondaryNameNode
  说明hadoop和hbase运行均正常,
  dc02:
  运行jps:
  
19232 Jps
4135 DataNode
19107 HRegionServer
19033 HQuorumPeer
4229 TaskTracker
  说明一切正常。
  dc03:
  运行jps:
  jps
3557 DataNode
18484 HQuorumPeer
18720 Jps
18565 HRegionServer
3651 TaskTracker
  一切正常。
  在dc01上运行:hbase shell查看hbase是否正常:
  hbase shell
HBase Shell; enter 'help' for list of supported commands.
Type "exit" to leave the HBase Shell
Version 0.94.1, r1365210, Tue Jul 24 18:40:10 UTC 2012
  hbase(main):001:0>
  说明进入了hbase的shell环境,现在用list命令来看一下hbase中有哪些表:
  hbase(main):001:0> list
TABLE                                                                                                
0 row(s) in 0.9550 seconds
  hbase(main):002:0>
  说明hbase运行是正常的。
  至此,可以说明hbase安装并启动成功了。
  下面为hbase的一些基本操作,可以忽略。
  
  Hbase基本操作:
  接下来创建一张表:
  hbase(main):002:0> create 'user_info','name'
0 row(s) in 1.2780 seconds
  hbase(main):003:0>
  创建成功,查看一下表是否存在:
  hbase(main):003:0> list
TABLE                                                                                                
user_info                                                                                            
1 row(s) in 0.0500 seconds
  hbase(main):004:0>
  表果然存在。
  现在往表中插入一条数据:
  put 'user_info','1','name:','Tom'
  插入完毕。
  现在查询是否表中存在数据:
  输入:scan 'user_info'
  显示:
  ROW COLUMN+CELL
1                         column=name:, timestamp=1376370874591, value=Tom   
  删除表:
  删除hbase表时,需要先disable '表名称',然后在drop '表名称':
  输入:disable 'user_info'
显示:0 row(s) in 2.1390 seconds
  drop 'user_info'
0 row(s) in 1.4880 seconds
  查询该表是否还存在(用list)命令:
  输入:list
  显示:
TABLE                                                                                                
0 row(s) in 0.0320 seconds
  说明该表已经被我删除。
  至此,所有工作圆满结束。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85661-1-1.html 上篇帖子: Hadoop学习系列之菜鸟学习HDFS/GFS 下篇帖子: 理解Hadoop脚本hadoop-2.5.0/bin/hadoop
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表