VMware Workstation 10.0 CentOS 6.5 Hadoop 2.4.1 Jdk1.7.0 一. Linux系统环境准备 用WindSCP等软件,把JDK和Hadoop的安装包上传到CentOS虚拟机中。 用户设置 如果用普通用户进行以下操作,先把普通用户添加到/etc/sudoers文件中,以便能执行sudo命令。 切换到root $su - 添加普通用户到sudoers #vim /etc/sudoers 在文件的99行添加 hadoop ALL=(ALL) ALL 添加普通用户hadoop 配置IP 虚拟机使用NAT模式。 用图形界面或直接修改/etc/sysconfig/network-scripts/ifcfg-eth0文件 IP:192.168.18.101 MASK:255.255.255.0 ROUTE:192.168.18.1 修改主机名 非必须步骤,为了以后的方便,还是配置的好。 修改主机名为hadoop001,重启生效 [root@localhost ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop001 查看主机名 [root@localhost ~]# hostname 配置主机名和IP的映射 为了测试方便,也可以再配置宿主机windows的映射 C:\Windows\System32\drivers\etc\hosts [root@localhost ~]# vim /etc/hosts 添加: 192.168.18.101 hadoop001 关闭防火墙 不关闭防火墙,其他主机不能访问http等服务。当然,如果你会,自己配置防火墙更好。 关闭防火墙 [root@localhost ~]# service iptables stop 查看防火墙状态 [root@localhost ~]# service iptables status iptables: Firewall is not running. 设置开机不启动防火墙 [root@localhost ~]# chkconfig iptables off配置完成,重启CentOS reboot 二. 安装JDK和Hadoop 解压JDK和Hadoop的安装包*.tar.gz. 配置环境变量 重新编译环境变量配置文件 #source /etc/profile 测试命令 $java -version $hadoop 三.Hadoop配置 1. etc/hadoop/hadoop-env.sh 修改 HADOOP_HOME/etc/hadoop/hadoop-env.sh 把27行,${JAVA_HOME}换成jdk的绝对路径。 可能是hadoop的shell脚本问题,这里经常获取JAVA_HOME失败,所以替换成jdk的绝对路径。 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop001:9000</value> <discription> hdfs://hostname|IP:port 文件系统的名字,默认端口号为8020(见NameNode源码), </discription> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/apps/hadoop-2.4.1/tmp</value> <discription> 指定name table(fsimage)在本地系统的存放位置, 如果value是以逗号分隔的多个目录,则会在每个目录中保存一份,作为冗余备份。 注意:如果最前面不加/ 就是相对HADOOP_HOME的路径 </discription> </property> </configuration> 3. etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> <description> block副本的数量(副本因子) 在搭建伪分布式时,值为1就行,覆盖hdfs-default.xml中配置的默认值3。 </description> </property> <configuration> 4. etc/hadoop/mapred-site.xml 修改mapred-site.xml.template文件名为mapred-site.xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <description> 指定MapReduce运行在Yarn上 </description> </configuration> 5. etc/hadoop/yarn-site.xml </configuration> <!-- 指定YARN的老大(ResourceManager)的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop001</value> </property> <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration> 四. 启动Hadoop SSH免密码登录 设置无密码登录NameNode等节点。因为我们是伪分布式实验环境,所以启动或关闭HDFS和Yarn时每次输入密码不方便。 测试一下,是否可以通过SSH免密码的登录 $ ssh localhost If you cannot ssh to localhost without a passphrase, execute the following commands: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #然后再用ssh localhost测试一下,如果不行,就改一下秘钥的权限。 #chmod 600 .ssh/* 格式化HDFS 为什么需要格式化? 和使用新买的硬盘时,也需要格式一下一个道理,根据选择的文件系统类型对磁盘进行配置。 windows下选择NTFS文件系统,这个是HDFS文件系统,只不过HDFS的是一个逻辑磁盘 hfds namenode -format 或hadoop namenode -form 这是hadoop1.x中的命令,已经过时。 格式化成功后,Hadoop会在core-site.xml文件中配置的hadoop.tmp.dir目录下自动创建dfs/name目录。 格式化信息: 启动Hadoop服务 hadoop 1.x通过start-all.sh启动hdfs和MapReduce $ bin/start-all.sh hadoop2.x 启动hdfs服务 $start-dfs.sh 启动yarn $start-yarn.sh 验证成功启动 1) 用JPS查看java进程 NameNode Web UI- http://localhost:50070/ MapReduce Web UI - http://localhost:8088/ 转载请保留固定链接: https://linuxeye.com/Linux/2242.html |