Python 大数据应用简介
简介: 目前业界主流存储与分析平台以 Hadoop 为主的开源生态圈, MapReduce 作为 Hadoop 的数据集的并行运算模型, 除了提供 Java 编写 MapReduce 任务外, 还兼容了 Streaming 方式, 可以使用任意脚本语言来编写 MapReduce 任务, 优点是开发简单且灵活.
Hadoop 环境部署
1, 部署 Hadoop 需要 Master 访问所有 Slave 主机实现无密码登陆, 即配置账号公钥认证.
2,Master 主机安装 JDK 环境
yum 安装方式: yum install -y java-1.6.0-openjdk*
配置 Java 环境变量: vi /etc/profile
- JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64
- JRE_HOME=$JAVA_HOME/jre
- CLASS_PATH=::$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
- PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
- export JAVA_HOME JRE_HOME CLASS_PATH PATH
使配置文件生效: source /etc/profile
3,Master 主机安装 Hadoop
3.1, 下载 Hadoop, 解压到 / usr/local 目录下
3.2, 修改 hadoop-env.sh 中 java 环境变量
export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.41.x86_64
3.3, 修改 core-site.xml(Hadoop core 的配置文件)
- <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.1:9000</value>
- </property>
- </configuration>
3.4, 修改 hdfs-site.xml(Hadoop 的 HDFS 组件的配置项)
- <configuration>
- <property>
- <name>dfs.name.dir</name>
- <value>/data/tmp/name</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/data/hdfs/data</value>
- </property>
- <property>
- <name>dfs.datanode.max.xcievers</name>
- <value>4096</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>2</value>
- </property>
- </configuration>
3.5, 修改 mapred-site.xml(配置 map-reduce 组件的属性, 包括 jobtracker 和 tasktracker)
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>192.168.1.1:9001</value>
- </property>
- </configuration>
3.6, 修改 masters,slaves 配置文件
masters 文件
192.168.1.1
slaves 文件
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
4,Slave 主机配置
4.1, 配置和 Master 主机一样的 JDK 环境, 目标路径保持一致
4.2, 将 Master 主机配置好的 hadoop 环境复制到 Slave 主机上
5, 配置防火墙
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 90001 -j ACCEPT
Slave 主机
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.1 -p tcp --dport 50010 -j ACCEPT
6, 检验结果
6.1, 在 Master 主机上执行启动命令 (在安装目录底下)
./bin/start-all.sh
所示结果如下, 表示启动成功
6.2, 在 Master 主机上测试 MapReduce 示例
./bin/hadoop jar hadoop-examples-1.2.1.jar pi 10 100
所示结果如下, 表示配置成功
7, 补充: 访问 Hadoop 提供的管理页面
Map/Reduce 管理地址: 192.168.1.1:50030
HDFS 管理地址: 192.168.1.1:50070
来源: http://blog.51cto.com/mbb97/2095735