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

[经验分享] hadoop+zookeeper+hbase完全分布式集群配置整理

[复制链接]

尚未签到

发表于 2016-12-10 09:16:27 | 显示全部楼层 |阅读模式
  实验环境:
centos5.6+jdk1.6.2+hadoop-0.20.2+zookeeper3.3.5+hbase0.90.6
  准备好三台机器,
机器名      ip             作用
master   192.168.16.130    namenode
slave1   192.168.16.131    datanode
slave2   192.168.16.132    datanode
  一、hadoop的安装配置
1、在/etc/hosts中配置机器名和相应的IP(三台机器一样的配置):
192.168.16.130 master
192.168.16.131 slave1
192.168.16.132 slave2
修改完后记得使设置生效,运行命令:hostname master、hostname slave1、hostname slave2
  2、配上SSH免密码登陆,在master上实现无密码登陆slave1、slave2
(1)在master机下生成公钥/私钥对。
[huanghaibing@master ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/huanghaibing下生成.ssh目录,.ssh下有id_dsa和id_dsa.pub。
(2)、把master机下的id_dsa.pub复制到slave1和slave2机下,在slave1机的.ssh/authorized_keys文件里,我用scp复制。
[huanghaibing@master ~]$ scp .ssh/id_dsa.pub huanghaibing@192.168.16.131:/home/huanghaibing/id_dsa.pub
huanghaibing@192.168.192.131d1's password:
id_rsa.pub                                    100%  223     0.2KB/s   00:00
由于还没有免密码登录的,所以要输入密码
  (3)、slave1机把从master机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。
[huanghaibing@slave1 ~]$ cat id_dsa.pub >> .ssh/authorized_keys
[huanghaibing@slave1 ~]$ chmod 600 .ssh/authorized_keys
authorized_keys的权限要是600
master机登录slave1机:ssh slave1
第一次登录是时要输入yes
现在master机可以无密码登录slave1机了
slave2机配置跟slave1机一模一样,不再赘述,至此无密码登陆已经配置完成(注:配置完后记得关闭防火墙,如果不关闭,会出现找不到datanode问题,分别执行命令:service iptables stop和chkconfig iptables off)
  3、安装JDK1.6.0_13,并配置环境变量
JAVA_HOME=/usr/java/jdk1.6.0_13
PATH=$PATH:/usr/java/jdk1.6.0_13/bin
CLASSPATH=.:/usr/java/jdk1.6.0_13/jre/lib/rt.jar
export JAVA_HOME PATH CLASSPATH
  4、安装hadoop
下载hadoop-0.20.2.tar.gz:
解压:$ tar –zvxf hadoop-0.20.2.tar.gz
  把Hadoop 的安装路径添加到环/etc/profile 中:
export HADOOP_HOME=/home/huanghaibing/hadoop-0.20.2
export PATH=$HADOOP_HOME/bin:$PATH
  5、配置hadoop
(1)在conf/hadoop-env.sh 中配置Java 环境(namenode 与datanode 的配置相同):
$ vim hadoop-env.sh
$ export JAVA_HOME=/usr/java/jdk1.6.0_13
 
(2)配置conf/masters 和conf/slaves 文件:(只在namenode 上配置)
masters:
master
  slaves:
slave1
slave2
  (3)配置conf/core-site.xml, conf/hdfs-site.xml 及conf/mapred-site.xml(简单配置,namenode 与datanode 的配置相同)
core-site.xml:
<configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://master:9000</value>
</property>
<property>
  <name>Hadoop.tmp.dir</name>
  <value>/home/huanghaibing/hadoopData</value>
</property>
</configuration>
  hdfs-site.xml:( replication 默认为3,如果不修改,datanode 少于三台就会报错)
<configuration>
<property>
  <name>dfs.replication</name>
  <value>2</value>
</property>
</configuration>
  mapred-site.xml:
<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>master:9001</value>
</property>
<property> 
    <name>dfs.permissions</name> 
    <value>false</value> 
</property>
</configuration>
(namenode 与datanode的配置一样,只是datanode不用配masters与slaves,其中core.xml与mapred-site.xml的value值均要配成namenode的ip地址。)
  6、运行hadoop
进入hadoop-0.20.2/bin,
首先格式化文件系统:$ hadoop namenode –format
(如果在这里输入命令 hadoop namenode –format,返回bash: hadoop:找不到命令;则进入hadoop文件,输入命令bin/hadoop namenode -format 就可以格式化了。)
启动Hadoop:$ start-all.sh
通过jps命令查看当前信息,
通过bin/hadoop dfsadmin -report查看各节点运行状态
  二、zookeeper的安装配置
zookeeper的安装配置比较简单,下载、解压到/home/huanghaibing/zookeeper,在zookeeper目录下创建data目录来存放zookeeper的数据,这里需要配置的就是/zookeeper/conf下的zoo.cfg配置文件,
zookeeper最初只有zoo.sample.cfg,将其改名为zoo.cfg,然后配置:
起步阶段只需考虑dataDir和clientPort属性,参考别人的教程配置为:
# the directory where the snapshot is stored.
dataDir=/home/huanghaibing/zookeeper/data
# the port at which the clients will connect
clientPort=2222
最后因为我们要配置的是集群,所以需要在zoo.cfg中添加
server.1=192.168.16.130:2888:3888
server.2=192.168.16.131:2888:3888
server.3=192.168.16.132:2888:3888
其中等号左边1,2是代表这是第几个zookeeper,也即机器的id,我们还需要在每台机器上的data目录下创建一个文件myid,其内容即为其ip对应的id。
等号右边依次为机器ip,通信端口,选举leader端口
  三、hBase安装配置
下载hbase-0.90.6.tar.gz,解压到/home/huanghaibing,并用mv修改其目录名为hbase,
开始集群配置:
1、修改conf/hbase-env.sh
export JAVA_HOME=/usr/java/jdk1.6.0_13
export HBASE_CLASSPATH=/home/huanghaibing/hadoop-0.20.2/conf
export HBASE_MANAGES_ZK=false
2、修改hbase-site.xml,增加以下内容
<property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>(注:这里须hadoop-config/core-site.xml中的fs.default.name保持一致)
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
   <name>hbase.zookeeper.property.clientPort</name>
   <value>2222</value>(注:这里的端口需要和zookeeper的端口配置值一样)
   <description>Property from ZooKeeper's config zoo.cfg.</description>
</property>
<property> 
   <name>hbase.zookeeper.property.dataDir</name> 
   <value>/home/huanghaibing/zookeeper</value>   <!--zookeeper的路径-->
   <description>Property from ZooKeeper's config zoo.cfg. The directory where the snapshot is stored.</description> 
</property>
3、把/home/huanghaibing/hadoop-0.20.2/conf/hdfs-site.xml文件拷贝至hbase的conf文件夹下
4、把/home/huanghaibing/zookeeper/conf/zoo.cfg拷贝至/home/huanghaibing/hadoop-0.20.2/conf/文件夹下
5、在conf/regionservers中添加所有的datanode节点slave1、slave2
6、删除/hbase-0.90.6/lib/hadoop-core-0.20-append-r1056497.jar
     拷贝/hadoop-0.20.2/hadoop-0.20.0-core.jar到/hbase-0.90.6/lib/
7、最后,把配置好的hbase-0.90.6,拷贝到其它节点scp
到了这里整个配置就完成了,在namenode上启动hadoop集群,接着在每台机器上启动zookeeper,最后启动hbase,以./hbase shell进入hbase的shell命令行,运行status查看当前的状态,如果命令可正常运行说明集群配置成功。

运维网声明 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-312174-1-1.html 上篇帖子: bboss hadoop hdfs大数据抽取工具 下篇帖子: Partitioner, SortComparator and GroupingComparator in Hadoop
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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