Hadoop+Hbase+Zookeeper(独立)环境搭建 ---(转)

12 篇文章 0 订阅
7 篇文章 0 订阅

准备的机器信息:
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 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar
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 class.  The uri's authority is used to
  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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 搭建大数据环境需要以下步骤: 1. 安装HadoopHadoop是一个分布式计算框架,用于处理大规模数据集。安装Hadoop需要下载Hadoop软件包,并进行配置。 2. 安装Hive:Hive是一个数据仓库工具,用于在Hadoop上进行数据分析和查询。安装Hive需要下载Hive软件包,并进行配置。 3. 安装Spark:Spark是一个快速的大数据处理框架,用于在Hadoop上进行数据处理和分析。安装Spark需要下载Spark软件包,并进行配置。 4. 安装ZookeeperZookeeper是一个分布式协调服务,用于管理Hadoop集群中的节点。安装Zookeeper需要下载Zookeeper软件包,并进行配置。 5. 安装HBaseHBase是一个分布式的NoSQL数据库,用于存储和管理大规模数据。安装HBase需要下载HBase软件包,并进行配置。 以上是搭建大数据环境的基本步骤,需要根据实际情况进行具体的配置和调整。 ### 回答2: 随着互联网技术的不断发展,越来越多的数据被产生和需要处理,因此,搭建大数据环境成为了一项非常重要的工作。目前,Hadoop、Hive、Spark、ZookeeperHbase等大数据技术成为了最为重要的技术。下面,我们来详细介绍这些技术的大数据环境搭建。 1. Hadoop的安装 Hadoop是一个开源的分布式文件系统和数据处理框架,可以处理大规模数据的存储和处理。Hadoop的安装主要包括以下几个步骤: 1)安装JDK环境; 2)下载Hadoop的二进制包; 3)解压Hadoop的二进制包,并配置环境变量; 4)修改Hadoop的相关配置文件; 5)启动Hadoop。 2. Hive的安装 Hive是一个基于Hadoop的数据仓库工具,提供了类似于SQL的查询语言,可以用于大规模数据仓库的创建和查询。Hive的安装主要包括以下几个步骤: 1)安装JDK环境; 2)下载Hive的二进制包; 3)解压Hive的二进制包,并配置环境变量; 4)修改Hive的相关配置文件; 5)启动Hive。 3. Spark的安装 Spark是一个快速而通用的大数据处理引擎,可以执行大规模数据处理任务,并支持分布式计算。Spark的安装主要包括以下几个步骤: 1)安装JDK环境; 2)下载Spark的二进制包; 3)解压Spark的二进制包,并配置环境变量; 4)修改Spark的相关配置文件; 5)启动Spark。 4. Zookeeper的安装 Zookeeper是一个高性能分布式应用程序协调服务,可以用于协调和同步大规模集群中的应用程序。Zookeeper的安装主要包括以下几个步骤: 1)安装JDK环境; 2)下载Zookeeper的二进制包; 3)解压Zookeeper的二进制包,并配置环境变量; 4)修改Zookeeper的相关配置文件; 5)启动Zookeeper。 5. Hbase的安装 Hbase是一个基于Hadoop的分布式非关系型数据库,提供了类似于Google的Bigtable的基于列的存储方式。Hbase的安装主要包括以下几个步骤: 1)安装JDK环境; 2)下载Hbase的二进制包; 3)解压Hbase的二进制包,并配置环境变量; 4)修改Hbase的相关配置文件; 5)启动Hbase。 在完成上述大数据技术的安装后,我们还需在使用时将它们进行整合,以达到更加高效的数据处理和管理。这些技术之间的整合一般都需要配置相关的XML文件和环境变量,具体操作可根据实际情况去修改和设置。小编建议,初学者应该多参考一些大佬的经验,互联网上有很多大牛分享了上述技术的搭建方法,读者可以多花些时间去学习和了解。 ### 回答3: 随着现代信息技术的不断发展,大数据的应用越来越广泛。作为目前大数据环境的主流组件,Hadoop、Hive、Spark、ZookeeperHBase都是大数据领域的重要工具。为了能够更好地进行大数据分析和处理,需要对这些工具进行合理的搭建和配置。 1. Hadoop的搭建 Hadoop是一个分布式存储和计算的框架,搭建Hadoop需要安装JAVA环境,并下载相应的Hadoop压缩包。将Hadoop解压到本地目录,在安装文件中设置JAVA_HOME和HADOOP_HOME环境变量。启动Hadoop需要先启动NameNode和DataNode,然后启动JobTracker和TaskTracker。搭建好Hadoop后,还需要使用HDFS命令行或Hadoop API进行文件的上传、下载、删除等基本操作。 2. Hive的搭建 Hive是一个基于Hadoop的数据仓库工具,可以将结构化数据映射到Hadoop的存储系统中。Hive搭建需要先安装JAVA环境和Hadoop,然后下载并解压Hive压缩包。将Hive和Hadoop的配置文件进行关联,启动Hive服务时需要启动Metastore和HiveServer2服务。搭建完成后,可以使用HiveQL语句进行数据的查询、插入、删除等操作。 3. Spark的搭建 Spark是一个快速通用的大数据计算引擎,可用于数据分析、机器学习等场景。Spark搭建需要安装JAVA和Scala等相关组件,并下载Spark压缩包。将Spark解压到本地目录后,设置SPARK_HOME环境变量以及Hadoop和YARN的配置相关参数。启动Spark服务时需要先启动Master和Slave节点。搭建完成后,可以使用Spark Shell和Spark SQL进行数据处理和分析。 4. Zookeeper的搭建 Zookeeper是一个分布式的协调服务,可以用于管理各类分布式应用程序的配置和信息。将Zookeeper下载并解压到本地目录,设置ZOOKEEPER_HOME环境变量,并修改Zoo.cfg配置文件中的端口号、数据目录等相关参数。启动Zookeeper服务时需要先启动一个Leader和多个Follower。搭建完成后,可以使用ZooKeeper API对Zookeeper的节点进行管理和配置。 5. HBase的搭建 HBase是一个列存储数据库,可以在Hadoop上提供实时读写服务。HBase搭建需要安装JAVA环境、HadoopZookeeper,并下载HBase压缩包。将HBase解压到本地目录,并进行相关配置,比如修改HBase-site.xml配置文件的参数、设置HBASE_HOME环境变量等。启动HBase服务前需要先启动Zookeeper服务。搭建完成后,可以使用Java API或HBase Shell进行数据的读写操作。 综上所述,搭建大数据环境需要先安装基础的JAVA环境和相关组件,然后根据各个工具的安装包进行相应的配置和启动,最后进行测试和调试。在搭建过程中需要注意版本、路径等问题,避免出现配置错误。经过搭建和调试后,可以使用这些工具进行海量数据的分析和处理,为企业的决策提供有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值