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

[经验分享] Hadoop+Hbase+Zookeeper(独立)环境搭建

[复制链接]
发表于 2018-10-30 07:55:16 | 显示全部楼层 |阅读模式
  转自 :http://blog.itpub.net/23289442/viewspace-1120056/
  准备的机器信息:
  192.168.247.128  dengnn(master)
  192.168.247.129 dengdn1 (slave1)
  192.168.247.130 dengdn2 (slave2)
  集群搭建 参考资料
  cloudera hadoop 搭建
  http://heylinux.com/archives/1980.html
  http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1307yangww/
  apache hadoop 搭建
  http://blog.csdn.net/hguisu/article/details/7237395
  http://ju.outofmemory.cn/entry/29825
  拓展介绍
  http://www.infoq.com/cn/articles/hadoop-intro
  http://blog.csdn.net/shatelang/article/details/7605939
  http://blog.csdn.net/cuirong1986/article/details/7311734
  jdk安装参考资料
  http://melin.iteye.com/blog/1848637
  http://www.cnblogs.com/gaizai/archive/2012/06/12/2545886.html
  Jdk安装部分指令摘记:
  修改/etc/profile文件.用文本编辑器打开/etc/profile。在profile文件末尾加入(root用户登录):
  export JAVA_HOME=/usr/java/jdk1.6.0_45
  export JRE_HOME=$JAVA_HOME/jre

  export>  export PATH=$PATH:$JAVA_HOME/bin
  执行source /etc/profile 来使其生效
  NameNode与SecondaryNameNode简介
  http://a280606790.iteye.com/blog/870123
  在每台机器上创建hadoop用户组合hadoop用户
  1:创建用户组:groupadd hadoop
  2:创建用户:useradd -g hadoop hadoop
  3:修改密码:passwd hadoop
  安装SSH,一些命令的摘记:
  Centos系统安装时默认可以选择安装SSH,ubuntu下可以通过如下命令进行安装(前提是必须联网):
  rpm –qa | grep openssh
  rpm –qa | grep rsync
  service sshd restart 启动服务
  测试是否安装成功:ssh localhost
  注意:在所有机子都需要安装ssh。
  配置Master无密码登录所有Salve。
  (说明:hadoop@hadoop~]$ssh-keygen  -t  rsa
  这个命令将为hadoop上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/home/dbrg/.ssh/authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接复制过去就行.)
  在Master节点上执行以下命令:
  su hadoop
  1、生成其密钥对
  ssh-keygen -t rsa
  2、接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。
  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3、修改文件"authorized_keys"
  chmod 600 ~/.ssh/authorized_keys
  4、启动服务(需要权限用户)
  service sshd restart
  5、把公钥复制所有的Slave机器上:格式  scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
  (完整路径显示[hadoop@dengnn .ssh]$ scp authorized_keys dengdn1:/home/hadoop/.ssh/)
  scp authorized_keys dengdn1:/home/hadoop/.ssh/
  安装hadoop集群环境的,一些命令摘记:su hadoop 用此用户登录
  1、建立hadoop目录
  mkdir hadoop
  2、解压安装文档
  tar -zxvf hadoop-1.0.3.tar.gz
  3、修改Master上/etc/profile 新增以下内容:
  export HADOOP_HOME=/home/hadoop/hadoop/hadoop-1.0.3
  export PATH=$PATH:$HADOOP_HOME/bin
  执行source /etc/profile 来使其生效
  4、配置conf/hadoop-env.sh文件
  #添加 命令
  export JAVA_HOME=/usr/java/jdk1.6.0_45
  这里修改为你的jdk的安装位置。
  (若命令没有添加成功,可以用vi命令手动添加)
  5、配置core-site.xml文件
  在解压的src 目录找到  core-default.xml 文件,将其复制到 conf 目录,改名称为 : core-site.xml 。然后修改core-site.xml里面的部分配置为
  #修改
  fs.default.name
  hdfs://dengnn:9000
  The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming

  the FileSystem implementation>  determine the host, port, etc. for a filesystem.
  hadoop.tmp.dir
  /home/hadoop/hadoop/tmp
  A base for other temporary directories.
  注解:
  1)fs.default.name是NameNode的URI。hdfs://主机名:端口/
  2)hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。
  6、配置mapred-site.xml文件
  在解压的src 目录找到 mapred-default.xml 文件,将其复制到 conf 目录,改名称为 : mapred-site.xml 。然后修改mapred-site.xml 里面的部分配置为
  #修改
  mapred.job.tracker
  dengnn:9001
  The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  注解:
  1)mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。
  7、配置hdfs-default.xml 文件
  在解压的 src 目录找到hdfs-default.xml 文件,将其复制到 conf 目录,改名称为 : hdfs--site.xml。然后修改hdfs -site.xml 里面的部分配置为
  #修改
  dfs.replication
  3
  Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  注解:
  1)   dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。
  2)   dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。 当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。
  3)dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。
  注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。
  8、配置masters和slaves主从结点
  配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。
  修改conf  目录里面的 masters 文件,内容为:
  命令 vi masters
  输入:
  dengnn
  保存退出命令   :wq
  命令 vi slaves
  dengdn1
  dengdn2
  保存退出
  9、配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,例如:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh
  拷贝的命令:
  scp -r /home/hadoop/hadoop/hadoop-1.0.3 hadoop@dengdn1: /home/hadoop/hadoop
  (如果不行就直接用其他方式复制)
  10、关闭所有机器防火墙
  chkconfig iptables off
  service iptables stop
  11、启动hadoop集群
  登录NameNode,进入bin目录执行命令:
  1、先格式化一个新的分布式文件系统
  bin/hadoop namenode -format
  2、启动(同时启动HDFS和Map/Reduce)
  bin/start-all.sh
  3、启动(单独启动HDFS)
  bin/start-dfs.sh
  4、启动(单独启动Map/Reduce)
  bin/start-mapred.sh
  (给文件夹赋权限)
  chmod -R 755 hadoop-1.0.3
  可以查看:
  NameNode浏览web地址http://192.168.247.128:50070
  MapReduce浏览web地址http://192.168.247.128:50030
  安装zookeeper 一些摘要记录:su hadoop
  1、解压安装文档
  tar -zxvf zookeeper-3.4.3.tar.gz
  2、修改zookeeper配置文件zoo.cfg
  进入到conf目录,将zoo_sample.cfg拷贝一份命名为zoo.cfg(Zookeeper 在启动时会找这个文件作为默认配置文件),打开该文件进行修改为以下格式(注意权限问题,如果最后配置有问题请检查过程中权限是否正确)。
  #修改
  dataDir=/home/hadoop/hadoop/zookeeper/data
  server.0=192.168.247.128:2888:3888
  server.1=192.168.247.129:2888:3888
  server.2=192.168.247.130:2888:3888
  (备注:其中,2888端口号是zookeeper服务之间通信的端口,而3888是zookeeper与其他应用程序通信的端口。而zookeeper是在hosts中已映射了本机的ip。
  initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒。
  syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒。
  server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。)
  3、新建目录、新建并编辑myid文件
  创建dataDir参数指定的目录(这里指的是“/home/hadoop/hadoop/zookeeper/data”),并在目录下创建文件,命名为“myid”
  mkdir /home/hadoop/hadoop/zookeeper
  mkdir /home/hadoop/hadoop/zookeeper/data
  touch myid
  4、编辑myid文件
  注意:编辑“myid”文件,并在对应的IP的机器上输入对应的编号。如在192.168.247.128上,
  “myid”文件内容就是0,在192.168.247.129上,内容就是1
  5、同步安装
  将解压修改后的zookeeper-3.4.3文件夹分别拷贝到Master、Slave1、Slave2的相同zookeeper安装路径下。
  注意:myid文件的内容不是一样的,各服务器中分别是对应zoo.cfg中的设置。相应的目录以及文件的创建(需要每台机器创建)
  6、启动zookeeper
  Zookeeper的启动与hadoop不一样,需要每个节点都执行,分别进入3个节点的zookeeper-3.4.3目录,启动zookeeper:
  bin/zkServer.sh start
  注意:此时如果报错先不理会,继续在另两台服务器中执行相同操作。
  若文件权限问题,则(给文件夹赋权限)
  chmod -R 755 zookeeper-3.4.3
  7、检查zookeeper是否配置成功
  待3台服务器均启动后,如果过程正确的话zookeeper应该已经自动选好leader,进入每台服务器的zookeeper-3.4.3目录,执行以下操作查看zookeeper启动状态:
  bin/zkServer.sh status
  如果出现以下代码表示安装成功了。
[java] view plaincopy  
JMX enabled by default  Using config: /home/hadoop/zookeeper-3.4.3/bin/../conf/zoo.cfg
  
Mode: follower        //或者有且只有一个leader
  ps: 启动客户端脚本:zookeeper-3.4.3/bin/zkCli.sh -server zookeeper:2181
  另外参考:
  http://www.blogjava.net/BucketLi/archive/2010/12/21/341268.html
  安装Hbase 环境的,一些命令摘记:su hadoop 用此用户登录
  1、解压安装文档
  tar -zxvf hbase-0.92.1.tar.gz
  2、修改conf目录下的3个文件(hbase-env.sh ,hbase-site.xml,regionservers 文件)
  2.1 修改hbase-env.sh文件
  #添加
  export JAVA_HOME=/usr/java/jdk1.6.0_45
  export HBASE_MANAGES_ZK=false
  1) 需要注意的地方是 ZooKeeper的配置。这与 hbase-env.sh 文件相关,文件中 HBASE_MANAGES_ZK 环境变量用来设置是使用hbase默认自带的 Zookeeper还是使用独立的ZooKeeper。HBASE_MANAGES_ZK=false 时使用独立的,为true时使用默认自带的。
  2.2修改hbase-site.xml文件
  #修改
  
                hbase.rootdir
  
                hdfs://dengnn:9000/hbase
  

  

  
                hbase.cluster.distributed
  
                true
  

  

  
                hbase.zookeeper.property.clientPort
  
                2181
  

  

  
                hbase.zookeeper.quorum
  
                dengnn,dengdn1,dengdn2
  下面的暂时没有配置,在安装zookeeper时在做修改
  
                hbase.zookeeper.property.dataDir
  
                /home/hadoop/temp/zookeeper
  1)hbase.cluster.distributed指定了Hbase的运行模式。false是单机模式,true是分布式模式。
  2)hbase.rootdir目录是region server的共享目录,用来持久化Hbase。注意:注意主机名和端口号要与hadoop的dfs name的对应
  3)hbase.zookeeper.quorum是Zookeeper集群的地址列表,用逗号分割。
  4)运行一个zookeeper也是可以的,但是在生产环境中,最好部署3,5,7个节点。
  部署的越多,可靠性就越高,当然只能部署奇数个,偶数个是不可以的。
  需要给每个zookeeper 1G左右的内存,如果可能的话,最好有独立的磁盘确保zookeeper是高性能的。
  如果你的集群负载很重,不要把Zookeeper和RegionServer运行在同一台机器上面,就像DataNodes和TaskTrackers一样。
  2.3修改regionservers文件
  #添加
  dengdn1
  dengdn2
  注意:设置regionservers的服务器,和Hadoop的slaves一样即可
  3、同步安装
  将解压修改后的hbase-0.92.1 文件夹分别拷贝到Master、Slave1、Slave2的相同hbase安装路径下。
  注意:文件权限问题。
  给文件夹赋权限:chmod -R 755 hbase-0.92.1
  4、启动Hbase
  bin/start-hbase.sh
  测试看成功与否
  可以查看http://192.168.247.128:60010/
  也可以用bin/hbase shell 界面查看。
  ps: 若出现重启Hbase后,已有的数据没有了。可以从下面修改着手处理
  修改hbase-default.xml文件
  注意只修改hbase.rootdir这项,文件位置:/root/hbase/src/main/resources目录下
  hbase.rootdir
  hdfs://dengnn:9000/hbase
  注意事项:如果你的版本和我不一样,hbase启动后查看表失败,可以将hadoop的jar拷贝至hbase的lib目录下,这一步很关键!我这个版本不需要拷贝!
  另外参考资料
  http://blog.chinaunix.net/uid-23916356-id-3255678.html
  http://linuxjcq.blog.51cto.com/3042600/760634
  集群web访问地址:
  namenode http://192.168.247.128:50070
  mapreduce http://192.168.247.128:50030
  hbase master http://192.168.247.128:60010
  转自 :http://blog.itpub.net/23289442/viewspace-1120056/



运维网声明 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-628197-1-1.html 上篇帖子: hadoop 2.X HA详细配置 下篇帖子: Hadoop学习笔记(四)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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