1.JDK及其环境的配置
ubuntu下JDK配置本质上和win是一样的:
1、去官网下载JDK7,找jdk-7u21-linux-i586.tar.gz并下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2、解压后得到名字为jdk1.7.0_21的文件夹,将其复制到 /usr/lib/jvm下(需要新建jvm文件夹)。
tar zvxf jdk-7u21-linux-i586.tar.gz
3、配置jdk环境变量:
在启动终端并输入
- sudo vi /etc/profile
在末尾添加一下配置,保存并退出
- #set jdk environment
- export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_21
- export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
- export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
终端输入一下命令使配置生效
- source /etc/profile
4、查看配置是否成功。在终端输入
- java -version
如果显示版本是1.7.0.21则配置成功,如下显示:
- java version "1.7.0_21"
- Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
- Java HotSpot(TM) Server VM (build 23.21-b01, mixed mode)
5.查看JAVA_HOME --- 注意这个变量Hadoop需要使用
echo $JAVA_HOME
/usr/lib/jvm/java-7-openjdk-amd64
2.Hadoop安装及其环境的配置
tar zvxf hadoop-2.7.0.tar.gz
说明: 我的安装路径是 /home/develop/hadoop/hadoop-2.7.0
sudo vi /etc/profile
添加以下命令语句:
export HADOOP_INSTALL=/home/develop/hadoop/hadoop-2.7.0
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
</pre><pre name="code" class="html">wq保存并退出
source /etc/profile --- 使之生效
/home/develop/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/sources
hadoop-mapreduce-examples-2.7.0-sources.jar
/home/develop/hadoop/mydemos/test1/input/input1 ---- 需要统计的单词所在文件夹位置, 运行程序后会统计,这个文件夹中所有的文件中包含的单词信息
/home/develop/hadoop/mydemos/test1/output ---- output用于存放MapReduce程序运行后的结果,包含统计的结果文件和成功与否的标识文件
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="html">develop@ubuntu14-dev3:~/hadoop/hadoop-2.7.0/bin/output$ ./hadoop jar /home/develop/hadoop/hadoop-2.7.0/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount /home/develop/hadoop/mydemos/test1/input/input1 /home/develop/hadoop/mydemos/test1/output/output1
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">说明:</span>
cd /home/develop/hadoop/mydemos/test1/output/output1
develop@ubuntu14-dev3:~/hadoop/mydemos/test1/output/output1$ ls
part-r-00000 _SUCCESS
<pre name="code" class="html">
part-r-00000 ---- MapReduce程序生成的结果
_SUCCESS ---- 标识程序执行成功
3.Hadoop2.7完全分布式安装
1、安装JDK1.7+
2、SSH互信免登陆
3、/etc/profile
HADOOP_PREFIX=/opt/hadoop
JAVA_HOME=/opt/jdk1.7
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
export HADOOP_PREFIX PATH JAVA_HOME
4、hadoop安装目录/etc/hadoop/hadoop-en.sh
export JAVA_HOME=/opt/jdk1.7
export HADOOP_COMMON_HOME=/opt/hadoop
5、编辑/etc/hosts
192.168.98.34 NameNode34
192.168.98.35 DataNode35
192.168.98.37 DataNode37
192.168.98.38 DataNode38
6.1 core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://NameNode34:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
6.2 hdfs-site.xml
<configuration>
<!--
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/Name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/Data</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
</configuration>
6.3 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.acl.enable</name>
<value>false</value>
</property>
<property>
<name>yarn.admin.acl</name>
<value>*</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>false</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>NameNode34:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>NameNode34:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>NameNode34:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>NameNode34:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>NameNode34:8088</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>NameNode34</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6.4 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>NameNode34:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>NameNode34:19888</value>
</property>
<!--
<property>
<name>mapreduce.framework.name</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<property>
<name>mapreduce.task.io.sort.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.task.io.sort.factor</name>
<value>100</value>
</property>
<property>
<name>mapreduce.reduce.shuffle.parallelcopies</name>
<value>50</value>
</property>
-->
</configuration>
7、执行 hdfs namenode -format
8、编辑 hadoop安装目录/etc/hadoop/slaves文件
localhost
DataNode35
DataNode37
DataNode38
9、执行 start-dfs.sh
10、执行 start-yarn.sh
http://NameNode:8088/ 查看yarn
http://NameNode:50070/ 查看hdfs
创建如下脚本程序
[root@db apps]# vi scp_hadoop.sh
脚本内容如下:
#!/bin/sh
for host in red mongdb nginx;do
echo $host
scp -r /work/apps/hadoop sch@${host}:/work/apps/
Done
保存退出后, 修改文件的可执行属性 (chmod a+x *.sh)