hadoop2.7.1安装手册.docx_第1页
hadoop2.7.1安装手册.docx_第2页
hadoop2.7.1安装手册.docx_第3页
hadoop2.7.1安装手册.docx_第4页
hadoop2.7.1安装手册.docx_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

hadoop2.7.1安装手册1、准备阶段述hadoop-2.7.1.tar.gz安装包jdk1.6以上版本,这里统一使用jdk1.8版本jdk-8u45-linux-x64.rpmCentOS-6.4安装包2、安装步骤概述2.1、安装Centos-6.4系统2.2、安装jdk1.82.4、 如若使用64位机器,请编译hadoop-2.7.1文件2.4、zookeeper安装,单机安装以及集群安装2.5、关闭linux防火墙,安装已编译好的hadooop安装包以及配置QJM,或者配置High Availability With NFS,验证hadoop是否安装成功2.6、sqoop的编译与安装2.7、Mysql安装2.8、HBASE安装2.9、HIVE安装3、集群规划集群规划:主机名IP安装的软件运行的进程hadoop0113jdk、hadoopNameNode、DFSZKFailoverController(zkfc)hadoop0214jdk、hadoopNameNode、DFSZKFailoverController(zkfc)hadoop0315jdk、hadoopResourceManagerhadoop0416jdk、hadoopResourceManagerhadoop0517jdkhadoopzookeeperDataNodeNodeManagerJournalNodeQuorumPeerMainhadoop0618jdkhadoopzookeeperDataNodeNodeManagerJournalNodeQuorumPeerMainhadoop0719jdkhadoopzookeeperDataNodeNodeManagerJournalNodeQuorumPeerMain4、安装具体步骤4.1、安装Centos-6.4系统(1)、下载64位的CentOS-6.4镜像文件CentOS-6.4-x86_64-bin-DVD1.isoCentOS-6.4-x86_64-bin-DVD2.iso系统安装只用到CentOS-6.4-x86_64-bin-DVD1.iso这个镜像,第二个镜像是系统自带的软件安装包下载完成之后,使用光盘刻录软件将ISO镜像文件刻录在CD或者DVD光盘里得到一张安装光盘(2)、安装CentOS使用安装介质启动电脑出现如下界面 选择Install or upgrade an existing system,并跳过media test出现引导界面,点击next语言选择,选“English”,以防止出现乱码键盘布局选择:U.S.English选择“Basic Storage Devies”,点击next询问是否忽略所有数据,新电脑安装系统选择Yes,discard any dataHostname填写网络设置安装图示顺序点击就可以了时区可以在地图上点击,选择“shanghai”并取消System clock uses UTC前面的对勾设置root的密码硬盘分区,一定要按照图示点选调整分区,必须要有/home这个分区,如果没有这个分区,安装部分软件会出现不能安装的问题询问是否格式化分区将更改写入到硬盘引导程序安装位置选择安装模式选择Minimal Desktop安装模式,并且选择现在进行客户化定制在进行“客户化定制时”可直接next,不过在language support时,选择“Chinese Support”,如下图:(3)、修改虚拟机主机名并建立IP地址与主机名之间的映射关系,最后重启虚拟机以root权限登录修改主机名:vi /etc/sysconfig/network ;分别修改HOSTNAME的值,为对应的主机名hadoop01、hadoop02、hadoop03建立IP地址与主机名之间的映射关系:vi /etc/hosts;在hadoop01虚拟机的hosts文件中添加如下字段:13 hadoop01在hadoop02虚拟机的hosts文件中添加如下字段:14 hadoop02在hadoop03虚拟机的hosts文件中添加如下字段:15 hadoop03在hadoop02虚拟机的hosts文件中添加如下字段:16 hadoop04在hadoop02虚拟机的hosts文件中添加如下字段:17 hadoop05在hadoop02虚拟机的hosts文件中添加如下字段:18 hadoop06在hadoop02虚拟机的hosts文件中添加如下字段:19 hadoop074.2、安装jdk1.8(1)、在hadoop家目录下创建software文件夹,并使用Secure CRT工具,点击Secure FX将所需要的jdk安装包上传到linux系统上的software文件中切换回当前用户:su hadoop01创建目录:mkdir /home/hadoop01/software上传文件:(以二进制文件形式传输)(2)、安装jdk1.8进入jdk1.8存放目录:cd /home/hadoop01/software/切换为root用户:su,输入密码安装jdk1.8: rpm -ivh jdk-8u45-linux-x64.rpm(3)、配置jdk环境变量设置环境变量:vi /etc/profile在profile文件中设置JAVA_HOME、CLASS_PATH、PATH三个环境变量:# JAVA_HOMEexport JAVA_HOME=/usr/java/jdk1.8.0_45# CLASSPATHexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar#PATHexport PATH=$PATH:$JAVA_HOME/bin启动配置项:source /etc/profile验证jdk是否安装成功:java version如图:安装成功4.3编译hadoop2.7.1(1)、实现ssh登录,公钥自联登录root用户:su ,输入密码打开公钥验证服务:#RSAAuthentication yes#PubkeyAuthentication yes#AuthorizedKeysFile .ssh/authorized_keys去掉这也项的#重启ssh服务:service sshd restart 以hadoop01账户登录linux系统:su hadoop01启动ssh协议:rpm -qa|grep openssh rpm -qa|grep rsync生成密钥对:ssh-keygen -t rsa -P 直接回车将公钥写入授权文件:cat /.ssh/id_dsa.pub authorized-keys修改授权文件权限:授权文件:chmod 600 /.ssh/authorized-keys验证ssh登录:ssh localhost多次ssh登录到localhost用户观察是否还需要输入密码如图时,成功(2)、将hadoop01作为Master节点,配置ssh免密码登陆,使得hadoop01无密码登录所有的slave节点:将其他两台hadoop02,hadoop03,hadoop04,hadoop05,hadoop06,hadoop07实现一次自联过程分别修改hadoop02,hadoop03,hadoop04,hadoop05,hadoop06,hadoop07节点上.ssh文件的权限和authorized-keys文件的权限: chmod 700 /.sshchmod 600 authorized-keys将hadoop01节点的公钥传给hadoop02,hadoop03,hadoop04,hadoop05,hadoop06,hadoop07:scp /.ssh/id_rsa.pub hadoophadoop02:/scp /.ssh/id_rsa.pub hadoophadoop03:/scp /.ssh/id_rsa.pub hadoophadoop04:/scp /.ssh/id_rsa.pub hadoophadoop05:/scp /.ssh/id_rsa.pub hadoophadoop06:/scp /.ssh/id_rsa.pub hadoophadoop07:/将hadoop01的公钥追加到hadoop02,hadoop03,hadoop04,hadoop05,hadoop06,hadoop07的authorized-keys中:cat /id_rsa.pub /.ssh/authorized-keys验证是否实现ssh登录ssh hadoop02ssh hadoop03ssh hadoop04ssh hadoop05ssh hadoop06ssh hadoop07(3)、编译hadoop-2.7.1环境所需软件:maven、protobuf、openssl库、CMake、ant安装maven:1、解压缩压缩包:tar -zxvf apache-maven-3.3.3-bin.tar.gz2、设置Maven环境变量:#MAVENexport MAVEN_HOME=/home/hadoop/software/apache-maven-3.3.3#environment pathexport PATH= /home/hadoop/software/apache-maven-3.3.3/bin3、生效source /etc/profile4、验证mavenmvn v安装protobuf-2.5.01、 安装依赖包以root身份登录yum install gcc-c+2、 解压protobuf-2.5.0安装包tar -zxvf protobuf-2.5.0.tar.gz3、 进入protobuf-2.5.0文件夹,进行如下操作:./configure make make check make install ldconfig4、 修改环境变量:vi /etc/profile#protobufexport LD_LIBRARY_PATH=/home/hadoop/software/protobuf-2.5.05、 生效source /etc/profile注意:配置/etc/profile,在虚拟机重启后,可能配置会失效,所以重启后,需要再次执行source操作。6、 安装pache-ant-1.9.4-bin.tar.gz解压安装包:tar -zxvf apache-ant-1.9.4-bin.tar.gz配置环境变量:vi /etc/profile#Antexport ANT_HOME=/home/hadoop/software/apache-ant-1.9.4#PATHexport PATH= $ANT_HOME/bin生效source /etc/profile校验ant -version7、 编译hadoop-2.7.1将hadoop-2.7.1-src.tar.gz解压缩,并进入hadoop-2.7.1-src文件夹执行命令:mvn package -Pdist,native -DskipTests -Dtar8、 在目录hadoop-2.4.0-src/hadoop-dist/target下有文件:hadoop-2.4.0.tar.gz编译成功4.4 Zookeeper 3.2 单机安装本篇為Zookeeper 的獨立測試 (不包含搭配 Hadoop, Hbase 的協同合作) 測試於 Ubuntu 9.10 , Zookeeper 為 3.2.1 版,java 版本為 1.6 ,並且於環境變數已經加入 JAVA_HOME=/usr/lib/jvm/java-6-sun 設定好 ssh localhost 免密碼安裝目錄/opt/zookeeper/工作目錄/var/zookeeper/安装步骤1. 下載 zookeeper 最新版,並且解壓縮到 /opt/zookeeper2. 新建 /var/zookeeper 當作 zookeeper的工作目錄,並確實設定可讀寫權限新建配置文档 /opt/zookeeper/conf/zoo.cfgtickTime=2000dataDir=/var/zookeeperclientPort=2181$cd /local/software/zookeeper/;ln -s zookeeper-3.3.1/ zookeeper$export ZOOKEEPER_INSTALL=/local/software/zookeeper/zookeeper/$export PATH=$PATH:$ZOOKEEPER_INSTALL/bin接着执行$ cd /opt/zookeeper$ bin/zkServer.shstart完成启动运行 netstat -tnl可以看到 2181 端口已打开关闭bin/zkServer.sh stop执行测试接着执行bin/zkCli.sh -server :2181基本测试zkshell: 0 helpzkshell: 8 ls /zookeeperzkshell: 9 create /zk_test my_dataCreated /zk_testzkshell: 11 ls /zookeeper, zk_testzkshell: 12 get /zk_testmy_datazkshell: 14 set /zk_test junkzkshell: 15 get /zk_testjunkzkshell: 16 quitzooKeeper配置文件参数参考:/zookeeper/docs/r3.3.1/zookeeperAdmin.html#sc_configurationZooKeeper Server的行为受配置文件zoo.cfg的控制,zoo.cfg的设计目标是让所有服务器都可以使用相同的配置文件,如果需要使用不同的配置文件,需要保证关于cluster部分的参数相同。下面是具体的参数:最小必要配置的参数clientPort服务的监听端口dataDir用于存放内存数据库快照的文件夹,同时用于集群的myid文件也存在这个文件夹里(注意:一个配置文件只能包含一个dataDir字样,即使它被注释掉了。)tickTime心跳时间,为了确保连接存在的,以毫秒为单位,最小超时时间为两个心跳时间高级配置参数dataLogDir用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争globalOutstandingLimitclient请求队列的最大长度,防止内存溢出,默认值为1000preAllocSize预分配的Transaction log空间为block个proAllocSize KB,默认block为64M,一般不需要更改,除非snapshot过于频繁snapCount在snapCount个snapshot后写一次transaction log,默认值是100,000traceFile用于记录请求的log,打开会影响性能,用于debug的,最好不要定义maxClientCnxns最大并发客户端数,用于防止DOS的,默认值是10,设置为0是不加限制clientPortBindAddress3.3.0后新增参数,可是设置指定的client ip以及端口,不设置的话等于ANY:clientPortminSessionTimeout3.3.0后新增参数,最小的客户端session超时时间,默认值为2个tickTime,单位是毫秒maxSessionTimeout3.3.0后新增参数,最大的客户端session超时时间,默认值为20个tickTime,单位是毫秒集群参数electionAlg用于选举的实现的参数,0为以原始的基于UDP的方式协作,1为不进行用户验证的基于UDP的快速选举,2为进行用户验证的基于UDP的快速选举,3为基于TCP的快速选举,默认值为3initLimit多少个心跳时间内,允许其他server连接并初始化数据,如果ZooKeeper管理的数据较大,则应相应增大这个值leaderServesleader是否接受客户端连接。默认值为yes。 leader负责协调更新。当更新吞吐量远高于读取吞吐量时,可以设置为不接受客户端连接,以便leader可以专注于同步协调工作。默认值是yes,说明leader可以接受客户端连接。(注意:当集群中有超过3台ZooKeeper Server时,强烈建议打开leader选举)server.x=hostname:nnnnn:nnnnn, etc配置集群里面的主机信息,其中server.x的x要写在myid文件中,决定当前机器的id,第一个port用于连接leader,第二个用于leader选举。如果electionAlg为0,则不需要第二个port。hostname也可以填ip。syncLimit多少个tickTime内,允许follower同步,如果follower落后太多,则会被丢弃。group.x=nnnnn:nnnnnweight.x=nnnnn这两个是用于集群分组的参数,暂时只有3台机器,没仔细研究,先给个例子看看吧group.1=1:2:3group.2=4:5:6group.3=7:8:9weight.1=1weight.2=1weight.3=1weight.4=1weight.5=1weight.6=1weight.7=1weight.8=1weight.9=1用于用户认证的选项略不安全选项略ZooKeeper集群部署管理1. 约定:a. ZooKeeper Server,server1的ip为41,server2的ip为42,server3的ip为43。b. zk_dir表示ZooKeeper的根目录,假设为/home/user/zookeeperc. zk_data表示ZooKeeper数据文件存放地址,假设为/home/user/zk_datad. zk_trlog表示ZooKeeper的Transaction Log目录,假设为/home/user/zk_trloge. zk_logs表示ZooKeeper的一半log目录,假设为/home/user/zk_logs2. 服务端环境要求:a. Linux或者其他类UNIX系统(Windows及Mac OS只能作为开发环境,不能做生产环境)b. JDK 1.6或更高c. Server管理需要netcat或者telnet3. 获得ZooKeeper发行版:访问:/zookeeper/releases.html,目前ZooKeeper的最新版本为3.3.1版本(2010年5月17日发行)4 修改配置文件:因为ZooKeeper的配置文件设计目标是可供所有机器使用的通用配置文件,因此可以现在一台机器上写完,然后复制到其他server上。在zk_dir/conf下新建zoo.cfg文件,详细参数说明参见附录,这里给出一个配置文件的例子:# BASIC SETTINGS# The number of milliseconds of each ticktickTime=2000# the port at which the clients will connectclientPort=2181# the directory where the snapshot is stored.dataDir=/home/user/zk_logs/zk_data# the directory where the transaction log is storeddataLogDir=/home/user/zk_logs/zk_trog# BASIC SETTINGS END# CLUSTER SETTINGS# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# CLUSTER SERVER CONFIGserver.1=01:2888:3888server.2=02:2888:3888server.3=03:2888:3888# CLUSTER SETTINGS END其中的# CLUSTER SERVER CONFIG部分为集群的三台机器的ip5 为每台服务器设置id:在server1的zk_data目录下新建myid文件,纯文本ASCII编码文件即可,内容为1,也就是配置文件中server.x中的x的值。其他两台机器上依此类推,也新建内容为自己id的myid文件。6 配置log文件信息:ZooKeeper采用log4j记录日志,perties文件在zk_dir/conf目录下,编辑zk_dir/conf/perties文件,按需要配置,这里给出一个在文件里记录DEBUG, INFO, ERROR等级,并且文件每天重命名一次的例子:# ZooKeeper Logging Configuration#log4j.rootLogger=INFO, DEBUG, ERROR# DEBUGlog4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.DEBUG.Threshold=DEBUGlog4j.appender.DEBUG.layout=org.apache.log4j.PatternLayoutlog4j.appender.DEBUG.layout.ConversionPattern=%dISO8601 - %-5p %t:%C1%L - %m%nlog4j.appender.DEBUG.datePattern=.yyyy-MM-dd.loglog4j.appender.DEBUG.append=truelog4j.appender.DEBUG.File=/home/user/zk_logs/zk_debug.log# INFOlog4j.appender.INFO=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.INFO.Threshold=INFOlog4j.appender.INFO.layout=org.apache.log4j.PatternLayoutlog4j.appender.INFO.layout.ConversionPattern=%dISO8601 - %-5p %t:%C1%L - %m%nlog4j.appender.INFO.datePattern=.yyyy-MM-dd.loglog4j.appender.INFO.append=truelog4j.appender.INFO.File=/home/user/zk_logs/zk_error.log# ERRORlog4j.appender.ERROR=org.apache.log4j.DailyRollingFileAppenderlog4j.appender.ERROR.Threshold=ERRORlog4j.appender.ERROR.layout=org.apache.log4j.PatternLayoutlog4j.appender.ERROR.layout.ConversionPattern=%dISO8601 - %-5p %t:%C1%L - %m%nlog4j.appender.ERROR.datePattern=.yyyy-MM-dd.loglog4j.appender.ERROR.append=truelog4j.appender.ERROR.File=/home/user/zk_logs/zk_error.log7. Server简单管理命令:现在可以启动ZooKeeper服务器了:# Server启动命令$ zk_dir/bin/zkServer.sh start# Server重启$ zk_dir/bin/zkServer.sh restart# Server停止$ zk_dir/bin/zkServer.sh stop# Server基本状态查看,需要netcat$ zk_dir/bin/zkServer.sh status8. ZooKeeper的管理命令:需要使用telnet或者netcat连接到ZooKeeper Server的clientPort端口,命令均为4个字母,命令及功能如下:conf3.3.0新增: 打印server配置文件内容cons3.3.0新增:列出连接到本Server的Client的完整连接及Session信息。包括分组发送/接收信息,session id,操作延时,最后一个操作的执行等crst3.3.0新增: 重置所有连接/sessiondumpLists the outstanding sessions and ephemeral nodes. 只在leader server上有效。envi屏幕打印server的环境变量ruok测试server是否处于无错状态。 如果状态健康则返回”imok”,否则无任何结果。A response of “imok” does not necessarily indicate that the server has joined the quorum, just that the server process is active and bound to the specified client port. Use “stat” for details on state wrt quorum and client connection information.srstReset server statistics.srvr3.3.0新增: Lists full details for the server.statLists brief details for the server and connected clients.wchs3.3.0新增: Lists brief information on watches for the server.wchc3.3.0新增: Lists detailed information on watches for the server, by session. This outputs a list of sessions(connections) with associated watches (paths). Note, depending on the number of watches this operation may be expensive (ie impact server performance), use it carefully.wchp3.3.0新增: Lists detailed information on watches for the server, by path. This outputs a list of paths (znodes) with associated sessions. Note, depending on the number of watches this operation may be expensive (ie impact server performance), use it carefully.4.5 oop-2.7.1安装这里要涉及到的配置文件有7个:/Hadoop-2.7.1/etc/hadoop/hadoop-env.sh/Hadoop-2.7.1/etc/hadoop/slaves/Hadoop-2.7.1/etc/hadoop/core-site.xml/Hadoop-2.7.1/etc/hadoop/hdfs-site.xml/Hadoop-2.7.1/etc/hadoop/mapred-site.xml/Hadoop-2.7.1/etc/hadoop/yarn-site.xml并且配置之前,需要在Cluster文件系统创建以下文件夹,用于存放命名空间以及数据信息。/dfs/name/dfs/data/temp/etc/hadoop/slave每台机器的配置基本相同,所以现在作为master的hadoop01上进行部署,最终在复制到其他机器上去。(1)、解压缩hadoop-2.7.1.tar.gz文件,注意完整的解压缩路径统一定为/home/hadoop/software/hadoop-2.7.1,进入到/hadoop-2.7.1/etc/hadoop文件夹(2)、修改etc/hadoop/hadoop-env.sh中的JAVA_HOME,设置为hadoop所依赖的jdk路径export JAVA_HOME=/usr/java/jdk1.8.0_45(3)、修改core-site.xml文件参数值注释fs.defaultFSNameNode URIhdfs:/host:port/io.file.buffer.size131072SequenceFiles文件中.读写缓存size设定以hadoop01为例: fs.defaultFS hdfs:/ns1 hadoop.tmp.dir /home/hadoop/software/hadoop-2.7.0/tmp io.file.buffer.size 131072 ha.zookeeper.quorumhadoop04:2181,hadoop06:2181,hadoop07:2181(4)、修改hdfs-site.xml Configurations for NameNode:参数值N.dir在本地文件系统所在的NameNode的存储空间和持续化处理日志如果这是一个以逗号分隔的目录列表,然后将名称表被复制的所有目录,以备不时之需。node.hosts/node.hosts.excludeDatanodespermitted/excluded列表如有必要,可以使用这些文件来控制允许数据节点的列表dfs.blocksize268435456大型的文件系统HDFS块大小为256MBnode.handler.count100设置更多的namenode线程,处理从datanode发出的大量RPC请求 Configurations for DataNode:ParameterValueNotesdfs.datanode.data.dir逗号分隔的一个DataNode上,它应该保存它的块的本地文件系统的路径列表如果这是一个以逗号分隔的目录列表,那么数据将被存储在所有命名的目录,通常在不同的设备。nodes.ns1nn1,node.rpc-address.ns1.nn1hadoop01:9000node.http-address.ns1.nn1hadoop01:50070node.rpc-address.ns1.nn2hadoop02:9000node.http-address.ns1.nn2hadoop02:50070node.shared.edits.dirqjournal:/hadoop05:8485;hadoop06:8485;hadoop07:8485/ns1dfs.journalnode.edits.dir/home/hadoop/software/hadoop-2.7.1/node.ha.ConfiguredFailoverProxyProviderdfs.ha.fencing.methodssshfenceshell(/bin/true) dfs.ha.fencing.ssh.private-key-files/home/hadoop/.ssh/id_dsadfs.ha.fencing.ssh.connect-timeout30000 (5)、修改mapred-site.xmlmapred-site.xml文件是由mapred-site.xml. template文件修改而来执行:mv mapred-site.xml.template mapred-site.xml 配置 MapReduce 应用程序:参数值备注yarn执行框架设置为 Hadoop YARN.mapreduce.map.memory.mb1536对maps更大的资源限制的.mapreduce.map.java.opts-Xmx1024Mmaps 中对jvm child设置更大的堆大小mapreduce.reduce.memory.mb3072设置 reduces对于较大的资源限制mapreduce.reduce.java.opts-Xmx2560Mreduces对child jvms Larger heap-size 设置mapreduce.task.io.sort.mb512更高的内存限制,而对数据进行排序的效率。mapreduce.task.io.sort.factor100在文件排序中更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论