vm 大家 centos hadoop
第一步
安装 vm
安装 centos6
第二步
配置 centos6 host_name
vi /etc/sysconfig/network
用任一款你喜爱的编辑器打开该文件,里面有一行
HOSTNAME=localhost.localdomain (如果是默认的话),修改
localhost.localdomain 为你的主机名。
vi /etc/hosts
打开该文件,会有一行 127.0.0.1 localhost.localdomain localhost
。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机
名(hostname),也就是你待修改的。localhost 是主机名的别名(alias
),它会出现在console的提示符下。将第二项修改为你的主机名,第三
项可选。
将上面两个文件修改完后,并不能立刻生效。如果要立刻生效的话,可
以用 hostname your-hostname 作临时修改,它只是临时地修改主机名
,系统重启后会恢复原样的。但修改上面两个文件是永久的,重启系统
会得到新的主机名。
最后,重启后查看主机名 uname -n 。
更改 location,localdamain 为 自己的域名 比如 master , slave
第三步
配置 ssh 免密码登录
master 192.168.13.128
slave1 192.168.13.129
在3台主机上都执行以下操作,当前服务器放第一行
vi /ets/hosts
添加 三行
192.168.13.128 master
192.168.13.129 slave1
master 服务器
首先 三天机器都的先 生成 ssh(执行 ssh-keygen -t rsa )
然后 (依次执行下面 命令)
master -> slave1(master 服务器)
ssh-cody-id fyj@192.168.13.129 输入 yes
slave1 -> master(slave1 服务器)
ssh-cody-id fyj@192.168.13.128 输入 yes
第四步
安装 jdk
方法1
下载 jdk8.xx.tar.gz
tar -xzvf jdk8.xx.tar.gz
配置环境
执行 source ~/.bashrc
java -version 查看是否安装
方法 2
yum list installed |grep java
yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch
yum -y list java*
yum -y install java-1.7.0-openjdk*
yum -y install java-1.8.0-openjdk*
java -version
第五步
安装Hadoop
1 下载 hadoop 并解压
放在目录 /opt下面(tar -zxvf hadoop...)
新建
cd hadoop...
mkdir tmp,mkdir dfs/data,mkdir dfs/name
2 配置相关信息
hadoop-env.sh(文件都在/usr/hadoop/etc/hadoop中)
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
配置文件:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
配置文件:slaves
将内容修改为:slave1
slave2 (有几个机器配置几个)
配置文件:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
<description>Abase for other temporary
directories.</description>
</property>
<property>
<name>hadoop.proxyuser.u0.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.u0.groups</name>
<value>*</value>
</property>
</configuration>
配置文件:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-
address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置文件:yarn-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-
address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
8)配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
9)配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>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>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>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>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
下一步
将配置好的 hadoop 文件 复制到对应的其他slave 机器上
启动hadoop
#注意最后单词带‘-’
将hadoop传输到slave1和slave2根目录
ssh 免密码登陆
http://blog.youkuaiyun.com/universe_hao/article/details/52296811
http://www.cnblogs.com/hrx-star/p/5795765.html
Hadoop异常 hdfs.DFSClient: DataStreamer Exception:
org.apache.hadoop.ipc.RemoteException
解决 : 关闭防火墙
关闭命令: service iptables stop
永久关闭防火墙:chkconfig iptables off
两个命令同时运行,运行完成后查看防火墙关闭状态
service iptables status
开始====编写第一个程序
读取文件
package com.hadoop.main;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
public class WordCount {
static
{
URL.setURLStreamHandlerFactory(new
FsUrlStreamHandlerFactory());
}
public static void main(String [] args) throws
MalformedURLException, IOException
{
try(InputStream in = new URL
("hdfs://localhost:9000/test2/index.txt").openStream();)
{
IOUtils.copy(in, System.out);
}
}
}
第一步
安装 vm
安装 centos6
第二步
配置 centos6 host_name
vi /etc/sysconfig/network
用任一款你喜爱的编辑器打开该文件,里面有一行
HOSTNAME=localhost.localdomain (如果是默认的话),修改
localhost.localdomain 为你的主机名。
vi /etc/hosts
打开该文件,会有一行 127.0.0.1 localhost.localdomain localhost
。其中 127.0.0.1 是本地环路地址, localhost.localdomain 是主机
名(hostname),也就是你待修改的。localhost 是主机名的别名(alias
),它会出现在console的提示符下。将第二项修改为你的主机名,第三
项可选。
将上面两个文件修改完后,并不能立刻生效。如果要立刻生效的话,可
以用 hostname your-hostname 作临时修改,它只是临时地修改主机名
,系统重启后会恢复原样的。但修改上面两个文件是永久的,重启系统
会得到新的主机名。
最后,重启后查看主机名 uname -n 。
更改 location,localdamain 为 自己的域名 比如 master , slave
第三步
配置 ssh 免密码登录
master 192.168.13.128
slave1 192.168.13.129
在3台主机上都执行以下操作,当前服务器放第一行
vi /ets/hosts
添加 三行
192.168.13.128 master
192.168.13.129 slave1
master 服务器
首先 三天机器都的先 生成 ssh(执行 ssh-keygen -t rsa )
然后 (依次执行下面 命令)
master -> slave1(master 服务器)
ssh-cody-id fyj@192.168.13.129 输入 yes
slave1 -> master(slave1 服务器)
ssh-cody-id fyj@192.168.13.128 输入 yes
第四步
安装 jdk
方法1
下载 jdk8.xx.tar.gz
tar -xzvf jdk8.xx.tar.gz
配置环境
执行 source ~/.bashrc
java -version 查看是否安装
方法 2
yum list installed |grep java
yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch
yum -y list java*
yum -y install java-1.7.0-openjdk*
yum -y install java-1.8.0-openjdk*
java -version
第五步
安装Hadoop
1 下载 hadoop 并解压
放在目录 /opt下面(tar -zxvf hadoop...)
新建
cd hadoop...
mkdir tmp,mkdir dfs/data,mkdir dfs/name
2 配置相关信息
hadoop-env.sh(文件都在/usr/hadoop/etc/hadoop中)
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
配置文件:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java)
配置文件:slaves
将内容修改为:slave1
slave2 (有几个机器配置几个)
配置文件:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp</value>
<description>Abase for other temporary
directories.</description>
</property>
<property>
<name>hadoop.proxyuser.u0.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.u0.groups</name>
<value>*</value>
</property>
</configuration>
配置文件:hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-
address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置文件:yarn-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-
address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
8)配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
9)配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>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>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
配置文件:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
配置文件:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>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>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
下一步
将配置好的 hadoop 文件 复制到对应的其他slave 机器上
启动hadoop
#注意最后单词带‘-’
将hadoop传输到slave1和slave2根目录
ssh 免密码登陆
http://blog.youkuaiyun.com/universe_hao/article/details/52296811
http://www.cnblogs.com/hrx-star/p/5795765.html
Hadoop异常 hdfs.DFSClient: DataStreamer Exception:
org.apache.hadoop.ipc.RemoteException
解决 : 关闭防火墙
关闭命令: service iptables stop
永久关闭防火墙:chkconfig iptables off
两个命令同时运行,运行完成后查看防火墙关闭状态
service iptables status
开始====编写第一个程序
读取文件
package com.hadoop.main;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
public class WordCount {
static
{
URL.setURLStreamHandlerFactory(new
FsUrlStreamHandlerFactory());
}
public static void main(String [] args) throws
MalformedURLException, IOException
{
try(InputStream in = new URL
("hdfs://localhost:9000/test2/index.txt").openStream();)
{
IOUtils.copy(in, System.out);
}
}
}