Hbase分布式搭建之hadoop搭建 ╰+攻爆jí腚メ 2022-05-29 02:24 215阅读 0赞 ## 一、搭建环境 ## 虚拟机数量:3台 操作系统:Ubuntu 14.04 Hadoop:Hadoop 2.2.0 Java:java version “1.7.0\_51” 需要的安装包: jdk:[https://download.csdn.net/download/leoe\_/10292237][https_download.csdn.net_download_leoe_10292237] hadoop 和 zookeeper:[https://download.csdn.net/download/leoe\_/10292256][https_download.csdn.net_download_leoe_10292256] -------------------- ## 二、实验内容及步骤 ## 为方便阐述,本实验只搭建一个有三台主机的小集群。 三台机器的具体分工命名如下: <table> <thead> <tr> <th align="left">IP</th> <th align="left">主机名</th> <th align="left">功能角色</th> </tr> </thead> <tbody> <tr> <td align="left">192.168.60.131</td> <td align="left">Master</td> <td align="left">namenode(控制节点)、JobTracker(工作分配)</td> </tr> <tr> <td align="left">192.168.60.132</td> <td align="left">slave1</td> <td align="left">datanode(数据节点)、TaskTracker(任务执行)</td> </tr> <tr> <td align="left">192.168.60.133</td> <td align="left">slave2</td> <td align="left">datanode(数据节点)、TaskTracker(任务执行)</td> </tr> </tbody> </table> 主机网络结构图如下: ![这里写图片描述][Image 1] 实验环境:Ubuntu14.04,hadoop-2.2.0,java-1.7.0-openjdk-i386,ssh。 综述:Hadoop完全分布式的安装需要以下几个过程: 1. 为防止权限不够,三台机器均开启root登录。 2. 为三台机器分配IP地址及相应的角色。 3. 对三台机器进行jdk安装并配置环境变量。 4. 对三台机器进行ssh(安全外壳协议)远程无密码登录安装配置。 5. 进行Hadoop集群完全分布式的安装配置。 下面对以上过程进行详细叙述。 ## **安装过程中需要的安装包自行下载,注意将下面的ip、文件路径替换为自己的。** ## -------------------- ## (一)JDK安装 ## **1、解压** tar –zxvf jdk-7u67-linux-x64.tar.gz **2、修改/etc/profile文件** (1)vim /etc/profile 文件末尾加: export JAVA_HOME=/zh/jdk1.7.0_67 export JRE_HOME=/zh/jdk1.7.0_67/jre export PATH=$PATH:/zh/jdk1.7.0_67/bin export CLASSPATH=./:/zh/jdk1.7.0_67/lib ![这里写图片描述][Image 1] (2)使/etc/profile文件生效: source /etc/profile (3)验证JDK安装成功: java –version **(4)按此步骤在集群剩余服务器中配置好JDK** -------------------- ## (二)SSH安装 ## **1、配置主机名与IP地址的对应** 在三台主机上分别设置/etc/hostname:vim /etc/hostname修改为对应的master或slave。hosts文件用于定义主机名与IP地址之间的对应关系(三台主机配置相同)。 修改/etc/hosts:`vim /etc/hosts` ![图3-1][Image 1] > hostname这个文件用于定义Ubuntu的主机名(不同ip对应的名字不同192.168.60.131对应master,192.168.60.132对应slave1,192.168.60.133对应slave2)。 **2、在master节点上安装ssh** (1) `sudo apt-get install ssh` (2)进入.ssh目录下面,在每台机器上执行:ssh-keygen -t dsa 之后一路回车,产生密钥;**如果没有.ssh目录则在/home文件mkdir .ssh** ![图2-1][Image 1] (3)完成第二步后会产生两个文件: id-dsa #私钥 id-dsa.pub #公钥 (4)在第一台机器的目录.ssh下执行命令,cat id\_dsa.pub >> authorized\_keys;此后.ssh下面会出现authorized\_keys文件。 (5)然后将第一台机器的.ssh目录下面的authorized\_keys文件拷贝到第二台计算机的.ssh目录下,如:scp authorized\_keys slaver1:~/.ssh/ (6)再转到第二台机器的.ssh目录下,会发现刚刚传输过来的文件-authorized\_keys,然后执行命令,将第二台计算机的公钥也加进来,如:cat id\_dsa.pub >> authorized\_keys. (7)将第二台计算机新生成的authorized\_keys传输第三台计算机,将第三台计算机的公钥-id-rsa.pub添加到从第二台计算机传过来的authorized\_keys里面。 (8)依次类推,直至集群中的最后一台计算机。 (9)在集群的最后一台计算机执行完添加后,生成的authorized\_keys文件就包含集群中所有计算机的公钥,如果以后还有机器加进到集群中来,可以直接添加到文件-authorized\_keys。最后,将最后生成的authorized\_keys复制到集群中的每一台计算机的.ssh目录下,覆盖掉之前的authorized\_keys。 (10)完沉第九步后,就可以在集群中任意一台计算机上,免密码ssh登录到其他计算了。 -------------------- ## (三)Hadoop搭建 ## 三台hadoop文件配置相同,所以配置完一台后,可以把整个hadoop复制过去就行了,现在开始配置master主机的hadoop文件。 1.解压hadoop,进hadoop中 /etc/hadoop/ 文件夹下面 2.需要配置的文件涉及到的有7个(mapred-site.xml.tmplate除外)如下图标示部分: ![图3-2][Image 1] **mapred-site.xml默认不存在的,可以复制相应的template文件获得。** cp mapred-site.xml.template marpred-site.xml (1)配置文件1:hadoop-env.sh 修改JAVA\_HOME值如下图: ![这里写图片描述][Image 1] (2)配置文件2:yarn-env.sh 末尾添加JAVA\_HOME值如下图: ![图3-4][Image 1] (3)配置文件3:slaves(保存所有slave节点)删除localhost写入slave1,slave2: ![图3-5][Image 1] (4)配置文件4:core-site.xml 添加配置内容如下图: <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/software/hdfs_all/tmp</value> </property> ![图3-6][Image 1] (5)配置文件5:hdfs-site.xml <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 以下两个参数可以不进行配置,在2.20版本中只要在core-site.xml 文件中指定了hadoop.tmp.dir以下目录会自动生成在tmp目录中,但是为 了维护方便,有必要将其路径明确指定在配置文件中 --> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/software/hdfs_all/dfs/name</value> </property> <property> <name>dfs.namenode.data.dir</name> <value>file:/home/software/hdfs_all/dfs/data</value> </property> ![图3-7][Image 1] (6)配置文件6:mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> ![图3-8][Image 1] (7)配置文件7:yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> ![图3-9][Image 1] -------------------- 上面配置完毕后,基本上完成了90%的工作,剩下的就是复制。我们可以把整个hadoop复制过去使用命令如下: scp -r hadoop-2.2.0/ slave1:/home/software scp -r hadoop-2.2.0/ slave2:/home/software 为方便用户和系统管理使用hadoop、hdfs相关命令,需要在/etc/environment配置系统环境变量,使用命令:`vim /etc/environment` 配置内容为hadoop目录下的bin、sbin路径,具体如下 ![图3-10][Image 1] 添加完后执行生效命令:`source /etc/environment` 下面要做的就是启动验证,建议在验证前,**把以上三台机器重启,使其相关配置生效。** -------------------- ## (四)启动验证 ## 在maser节点格式化namenode:`hadoop namenode -format` 启动hadoop:`start-all.sh` 使用Jps命令master有如下进程,说明配置正确 ![图4-1][Image 1] 使用Jps命令slave1、slave2有如下进程,说明配置正确 ![图4-2][Image 1] 查看分布式文件系统:[http://master:50070][http_master_50070] ![图4-3][Image 1] 查看MapReduce:[http://master:8088][http_master_8088] ![图4-4][Image 1] [https_download.csdn.net_download_leoe_10292237]: https://download.csdn.net/download/leoe_/10292237 [https_download.csdn.net_download_leoe_10292256]: https://download.csdn.net/download/leoe_/10292256 [Image 1]: [http_master_50070]: http://master:50070 [http_master_8088]: http://master:8088
还没有评论,来说两句吧...