Hadoop 集群搭建

serisboy12 贡献于2015-04-02

作者 User  创建于2012-08-26 10:49:00   修改者zhongxianlin  修改于2015-03-11 09:53:00字数3934

文档摘要:机器规格CPU:2个四核2~2.5GHzCPU内存:8~16GBECCRAM(非ECC会产生校验和错误)存储器:4*1TSATA硬盘(硬盘大小一般是数据量的3—5倍)网络:千兆以太网PS:namenode一般采用64位硬件,避免32位机java堆3g限制具体规格情况跟数据量有关。
关键词:

Hadoop集群搭建 1. 机器规格 CPU:2个四核 2~2.5 GHz CPU 内存:8~16GB ECC RAM(非ECC会产生校验和错误) 存储器:4*1T SATA硬盘(硬盘大小一般是数据量的3—5倍) 网络:千兆以太网 PS:namenode一般采用64位硬件,避免32位机java堆3g限制 具体规格情况跟数据量有关。 2. 所需环境和软件: 系统:linux系统 软件: Ssh:机器之间实现通信 rsync(scp):log文件传输 rz/sz:实现windows系统与linux系统之间的文件上传下载 secureCRT:linux客户端 jdk1.6+ mysql :metadata存放 hadoop-1.0.3: hive-0.8.1:版本之间发布时间与hadoop相近 hbase-0.92.0:同上(没需要可以不装)。 sqoop-1.3.0:cloudera版本 3. 安装hadoop所需软件 1)所有集群机器创建用户组hadoop,用户hadoop. 2)同时修改机器名字:$hostname master20 查看机器名字:$hostname 3) 所有集群机器修改/etc/hosts文件: 127.0.0.1 localhost 192.168.2.20 master20 192.168.2.21 node21 192.168.2.22 node22 192.168.2.23 node23 192.168.2.24 node24 192.168.2.25 node25 4)建立ssh无密码登录: a.在NameNode(master20)执行 $ssh-keygen –t dsa –P ‘’ –f ~/.ssh/id_dsa $cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys $ssh localhost b.实现NameNode无密码登录其他DataNode(node21,node22….) $scp ~/.ssh/id_dsa.pub hadoop@192.168.1.21:/home/hadoop/ 登录到 192.168.2.21 $cat /home/hadoop/id_dsa.pub >> ~/.ssh/authorized_keys Ps:如果namenode还是无法访问datanode:$chmod 600 ~/.ssh/authorized_keys c.关闭防火墙.最起码要开放hadoop所需端口。 5)安装jdk1.6+,mysql到/usr/local/ /usr/local/jdk1.6.0_14 /usr/local/mysql 4. 安装hadoop 安装路径:/data/hadoop/tools/ 1) 下载hadoop-1.0.3.tar: a.解压到/data/hadoop/tools/ $tar –zvxf hadoop-1.0.3.tar.gz b.添加系统环境,或者hadoop用户环境 export JAVA_HOME=/usr/local/jdk1.6.0_14 export JRE_HOME=/usr/local/jdk1.6.0_14/jre export HADOOP_HOME=/data/hadoop/tools/hadoop-1.0.3 export HIVE_HOME=/data/hadoop/tools/hive-0.8.1 export CLASSPATH=.:$ JAVA_HOME/lib: $ JRE_HOME/lib: $ CLASSPATH export PATH=$ JAVA_HOME/bin: $ JRE_HOME/bin: $ HADOOP_HOME/bin:$PATH 2) Hadoop主要配置hadoop-1.0.3/conf a. conf/hadoop-env.sh export JAVA_HOME=/usr/local/jdk1.6.0_14 如果路径中间有空格:用单引号 b. conf/core-site.xml,conf/hdfs-site.xml,conf/mapred-site.xml core-site.xml: hadoop.tmp.dir /data/hadoop/tools/tmp fs.default.name hdfs://192.168.2.20:9000 hdfs-site.xml(replication默认是3,不修改,datanode少于3就报错): dfs.replication 1 mapred-site.xml(如果集群足够大,不要设在namenode上): mapred.job.tracker 192.168.2.20:9001 c. scp 复制文件到所有datanode d. 配置namenode的conf/masters,conf/slaves Masters:192.168.2.20 Slaves: 192.168.2.21 192.168.2.22 192.168.2.23 192.168.2.24 192.168.2.25 e. 进入hadoop-1.0.3/bin。执行$hadoop namenode –format 启动hadoop:$./start-all.sh 如果不能执行,chmod 755 * Namenodes上执行$jps 5946 SecondaryNameNode 6120 Jps 6026 JobTracker 5838 NameNode DataNode上结果: 5660 Jps 5580 TaskTracker 5516 DataNode 查看集群状态:$hadoop dfsadmin –report 退出安全模式:$hadoop dfsadmin –safemode leave Hadoop的web方式查看:http://192.168.2.20:50070 5. hive安装 1)下载解压hive-0.8.1到/data/hadoop/tools/ /data/hadoop/tools/hive-0.8.1 hadoop fs -mkdir /tmp hadoop fs -mkdir /user/hive/warehouse hadoop fs -chmod a+w /tmp /user/hive/warehouse 2) 环境变量更改 export HIVE_HOME=/data/hadoop/tools/hive-0.8.1 export PATH=$HIVE_HOME/bin 3) 配置hive-site.xml   hive.metastore.warehouse.dir   /user /hive/warehouse   hive.metastore.local   true   javax.jdo.option.ConnectionURL   jdbc:mysql://localhost:3306/hive ?characterEncoding=UTF-8   javax.jdo.option.ConnectionDriverName   com.mysql.jdbc.Driver     javax.jdo.option.ConnectionUserName   hive     javax.jdo.option.ConnectionPassword   123456   datanucleus.fixedDatastore   false 4) mysql-connector-java-5.1.6.jar放入到hive的lib目录下面 5)配置mysql(默认编码为utf8) mysql -u root -p 输入安装mysql时为root指定的密码,然后进入mysql的界面。 首先为Hive创建存放元数据的数据库 create database hive; 然后,创建一个操作hive的mysql用户:(一定要给用户创建create表的权限 ,因为当我们第一次连接hive的时候,hive会在mysql中创建一些表) grant all privileges on *.* to hive@"%" Identified by "123456"; GRANT all privileges ON *.* TO hive@"localhost" IDENTIFIED BY "123456"; flush privileges; hive –hiveconf hive.root.logger=DEBUG,console

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档