返回介绍

12.2 Hadoop 部署

发布于 2024-01-29 22:54:22 字数 5240 浏览 0 评论 0 收藏 0

由于部署Hadoop需要Master访问所有Salve主机实现无密码登录,即配置账号公钥认证,具体参考9.2.5节关于配置Linux主机SSH无密码访问的介绍,本节将不再陈述。

(1)安装

SSH登录Master主机,这里使用root账号进行相关演示。安装JDK环境:

# mkdir –p /usr/java/ && cd /usr/java
# wget http://uni-smr.ac.ru/archive/dev/java/SDKs/sun/j2se/6/jdk-6u45-linux-x64.bin
# chmod +x jdk-6u45-linux-x64.bin
# ./jdk-6u45-linux-x64.bin
# vi /etc/profile (配置Java环境变量,追加以下内容)
export JAVA_HOME=/usr/java/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
# cd /etc  (使环境变量生效)
# . profile

安装Hadoop,版本为1.2.1,安装路径为/usr/local。

# cd /usr/local
# wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
# tar –zxvf hadoop-1.2.1.tar.gz
# cd /usr/local/hadoop-1.2.1/conf

修改目录(/usr/local/hadoop-1.2.1/conf)中的四个Hadoop核心配置文件hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml,具体内容如下:

hadoop-env.sh,Hadoop环境变量配置文件,指定JAVA_HOME。

export JAVA_HOME=/usr/java/jdk1.6.0_45

core-site.xml,Hadoop core的配置项,主要针对Common组件的属性配置。由于默认的hadoop.tmp.dir的路径为/tmp/hadoop-${user.name},笔者的Linux系统的/tmp文件系统的类型是Hadoop不支持的,会报“File/tmp//input/conf/slaves could only be replicated to 0 nodes,instead of 1”异常,因此手工修改hadoop.tmp.dir指向/data/tmp/hadoop-${user.name},作为Hadoop用户的临时存储目录,配置如下:

<configuration>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/data/tmp/hadoop-${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.20:9000</value>  //master主机IP:9000端口
</property>
</configuration>

hdfs-site.xml,Hadoop的HDFS组件的配置项,包括Namenode、Secondarynamenode和Datanode等,配置如下:

<configuration>
<property>
<name>dfs.name.dir</name>
<value>/data/hdfs/name</value>   //Namenode持久存储名字空间、事务日志路径
</property>
<property>
<name>dfs.data.dir</name>
<value>/data/hdfs/data</value>   //Datanode数据存储路径
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>   //Datanode所允许同时执行的发送和接受任务数量,默认为256
</property>
<property>
<name>dfs.replication</name>
<value>2</value>   //数据备份的个数,默认为3
</property>
</configuration>

mapred-site.xml,配置map-reduce组件的属性,包括jobtracker和tasktracker,配置如下:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.20:9001</value>
</property>
</configuration>

masters,配置Secondarynamenode项,环境使用主设备192.168.1.20同时承担Secondarynamenode的角色,生产环境要求使用独立服务器,起到HDFS文件系统元数据(metadata)信息的备份作用,当NameNode发生故障后可以快速还原数据,配置内容如下:

192.168.1.20

slaves,配置所有Slave主机信息,填写IP地址即可。本示例中Slave的信息如下:

192.168.1.21
192.168.1.22

接下来,从主节点(Master)复制jdk及Hadoop环境到所有Slave,目标路径要与Master保持一致,切记!执行以下命令进行复制:

# ssh root@192.168.1.21 '[ -d /usr/java ] || mkdir -p /usr/java ]'
# ssh root@192.168.1.22 '[ -d /usr/java ] || mkdir -p /usr/java ]'
# scp -r /usr/java/jdk1.6.0_45 root@192.168.1.21:/usr/java
# scp -r /usr/java/jdk1.6.0_45 root@192.168.1.22:/usr/java
# scp -r /usr/local/hadoop-1.2.1 root@192.168.1.21:/usr/local
# scp -r /usr/local/hadoop-1.2.1 root@192.168.1.22:/usr/local

Hadoop部分功能是通过主机名来寻址的,因此需要配置主机名hosts信息(生产环境建议直接搭建内网DNS服务),保证Hadooop环境所有主机的/etc/hosts文件配置如下:

192.168.1.20   SN2013-08-020
192.168.1.21   SN2013-08-021
192.168.1.22   SN2013-08-022

管理员通过浏览器查看datanode信息,需要配置本地hosts,如Windows 7系统hosts文件路径为C:\Windows\System32\drivers\etc,添加所有datanode主机信息,如下:

192.168.1.21   SN2013-08-021
192.168.1.22   SN2013-08-022

如设备启用了iptables防火墙,需要对主节点(Master)及Slave主机添加以下规则:

Master:
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 50030 -j ACCEPT
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 50070 -j ACCEPT
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9000 -j ACCEPT
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9001 -j ACCEPT
Slaves:
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 50075 -j ACCEPT
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 50060 -j ACCEPT
iptables -I INPUT -s 192.168.1.20 -p tcp --dport 50010 -j ACCEPT

配置完成后在主节点(Master)上格式化文件系统的namenode,执行:

# cd /usr/local/hadoop-1.2.1
# bin/hadoop namenode -format

最后,在主节点(Master)上执行启动命令,如下:

# bin/start-all.sh

(2)检验安装结果

Hadoop官方提供的一个测试MapReduce的示例,执行:

# bin/hadoop jar hadoop-examples-1.2.1.jar pi 10 100

如果返回如图12-1所示结果,则说明配置成功。

图12-1 计算pi的测试结果(部分截图)

访问Hadoop提供的管理页面,Map/Reduce管理地址:http://192.168.1.20:50030/,如图12-2所示。

图12-2 Map/Reduce管理界面(部分截图)

HDFS存储管理地址:http://192.168.1.20:50070/,如图12-3所示。

图12-3 HDFS管理界面(部分截图)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文