hadoop集群配置启动及编程
来源:互联网 发布:apache ab测试百度 编辑:程序博客网 时间:2024/05/29 04:46
hadoop集群配置启动及编程
1. 环境准备
Master: (1台)
CPU:64位
操作系统:ubuntu14.04
IP地址:192.168.177.10
Slave: (2台)
CPU:64位
操作系统:ubuntu14.04
IP地址:192.168.177.10
&
IP地址:192.168.177.10
故而,主机IP为10的机器,即做slave又做master。
2. 软件准备
2.1 在10,11两台机器上创建hadoop组及hadoop用户
#groupadd hadoop
#adduser --ingroup hadoop hadoop(分别给每一台主机创建用户)
修改/etc/sudoers文件,给hadoop用户赋予root用户的权限在
“root ALL=(ALL:ALL) ALL”行之后加入一行:
”hadoop ALL=(ALL:ALL) ALL”
2.2 在10,11两台机器上都安装ssh相关软件:
$apt-get install openssh-server
2.3 配置10,11两台机器的/etc/hosts文件:
$cat /etc/hosts
192.168.177.10 master
192.168.177.11 slave
2.4 配置主机10无密码访问11
进入10机器控制台:
$ su hadoop
$ ssh-keygen -t rsa
多次回车之后,在~/.ssh下面生成两个文件:id_rsa,id_rsa.pub
$ cd ~/.ssh
$ cat id_rsa.pub >> authorized_keys
$ scp id_rsa.pub hadoop@slave:~/.ssh/authorized_keys
此后,机器10即可无密码访问11.
3. Hadoop安装与配置
3.1到apache官网下载hadoop压缩包:hadoop-2.6.4.tar.gz,将压缩包解压到/home/hadoop目录下:
进入到10机器:
$ cd ~
$ wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz
$ tar zxvf hadoop-2.6.4.tar.gz
至此在/home/hadoop目录下面生成目录hadoop-2.6.4
3.2 配置操作系统环境变量
$ vim /etc/profile
添加以下内容:
exportHADOOP_HOME=/home/hadoop/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$source /etc/profile
3.3 hadoop相关配置文件
3.3.1 配置hadoop-env.sh文件
$ vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加:
exportJAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
注:/usr/lib/jvm/java-7-openjdk-amd64是我自己的jdk路径,根据各自的环境配置。
3.3.2 配置core-site.xml
$ mkdir –p /home/hadoop/hadoop-2.6.4/tmp
$ vim $HADOOP_HOME/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.177.10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.4/tmp</value>
</property>
</configuration>
3.3.3 配置hdfs-site.xml
$ vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.177.10:9001</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.6.4/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.6.4/tmp/dfs/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
3.3.4 配置mapred-site.xml
$ vim $HADOOP_HOME/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.3.5 配置yarn-site.xml
$ vim $HADOOP_HOME/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>
</configuration>
3.3.6 拷贝hadoop到slave节点
$ cd ~/hadoop
$ scp –r hadoop-2.6.4 hadoop@slave:~/hadoop
至此,两台机器的hadoop安全配置完成。
3.4 hadoop启动
3.4.1 格式化hdfs
$ hdfs namenode -format
3.4.2 启动hdfs
$ start-dfs.sh
3.4.3 启动yarn
$ start-yarn.sh
自此,hadoop分别在master与slave上面启动起来,可以在两台机器上用jps查询相关进程。
3.5 hadoop mapreduce编程
3.5.1 从hadoop的share目录下找到源码压缩包,解压后,获取WordCount.java文件,自己写一个makefile
$ mkdir -p $HADOOP_HOME/hadoop-2.6.4/lihan/demos/wordcount
$ ls -l
-rw-rw-r-- 1 hadoop hadoop 444 Jun 24 16:18 Makefile
-rw-r--r-- 1 hadoop hadoop 3299 Jun 2415:48 WordCount.java
$ cat Makefile
#
# makefile call shell's variable:$(HADOOP_HOME)
#
lib0=$(HADOOP_HOME)/share/hadoop/common/hadoop-common-2.6.4.jar
lib1=$(HADOOP_HOME)/share/hadoop/common/lib/commons-cli-1.2.jar
lib2=$(HADOOP_HOME)/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar
build: *.java
echo---build---
javac-cp $(lib0):$(lib1):$(lib2) $^
echo---build end---
jar:
jar-cvf wc.jar *.class
run:
hadoopjar wc.jar WordCount /input /output
编译打包:
$ make build
$ make jar
运行准备:
$ hdfs dfs –mkdir /input
$ hdfs dfs –mkdir /output
$ hdfs dfs –copyFromLocal *.txt /input
$ make run
等待mapreduce输出结果
---over!---
- hadoop集群配置启动及编程
- hadoop集群基本配置及启动
- kafka集群配置启动及编程
- hadoop配置及启动
- hadoop环境变量配置及启动
- hadoop-(1)集群安装及配置
- Hadoop全分布集群问题及配置
- Hadoop集群安装及简单配置
- Hadoop虚拟机集群搭建及配置详解
- Hadoop学习笔记(十一)---hadoop集群安装及配置
- hadoop集群启动
- 启动hadoop集群
- 启动Hadoop集群
- hadoop集群启动顺序
- 快速启动hadoop集群
- hadoop集群启动失败
- hadoop集群启动
- hadoop集群及相关服务的启动、停止shell脚本
- scikit-learn : Logistic Regression
- c语言学习笔记45
- CDMA手机和GSM手机辐射比较2
- JavaScript indexOf() 方法
- Top 67 Log Management Tools
- hadoop集群配置启动及编程
- 关于iOS中的手势识别
- CDMA手机鉴权的过程说明
- UVALive 6697 - Homework Evaluation(dp,字符串匹配得分)
- 专题四 · 1008
- POJ 2559 Largest Rectangle in a Histogram
- iOS --- 如何在Swift项目中使用runtime?
- 为什么不可使用虚假的IMEI或MEID号码?
- ATS 的三种解决方法