1 基础环境搭建
Centos 6.4 环境 hadoop 环境搭建
1 用户添加
sodo adduser kfk
2 hostname 更改
sudo vi /etc/sysconfig/network
3 hosts 更改
sudo vi /etc/hosts
4 关闭防火墙
sudo vi /etc/sysconfig/selinux
SELINUX = disabled
5 卸载系统自带的jdk版本
1 查找有多少版本
rpm -qa |grep java
2 将查找到的版本都给卸载 jdk进程名称就是上一步查找的信息
rpm -e --nodeps [jdk进程名称1][jdk 进程名称2]...
6 root用户下设置无密码用户切换 kfk 可以换成你自己的用户名
vi /etc/sudoers
加一行
kfk ALL = (root) NOPASSWD:ALL
2 进阶配置
1 创建要使用的各个目录
[kfk@bigdata01 ~]$ sudo mkdir /opt/softwares
[kfk@bigdata01 ~]$ sudo mkdir /opt/modules
[kfk@bigdata01 ~]$ sudo mkdir /opt/tools
[kfk@bigdata01 ~]$ sudo mkdir /opt/datas
2 将root 用户目录变成kfk用户的所属组
sudo chown -R kfk:kfk /opt/*
3 将jdk 1.7 传到 /opt/softwares 目录中
4 更改文件的执行权限
chmod u+x /opt/softwares/*
5 解压JDK
tar -zxf jdk-7u67.tar.gz -C /opt/modules/
6 安装jdk 配置
sudo vi /etc/profile 文件末尾加上
##JAVA_HOME
export JAVA_HOME = /opt/modules/jdk1.7.0_67
export PATH = $PATH:$JAVA_HOME/bin
7 克隆镜像
克隆 镜像bigdata02 bigdata 并且配置好hosts 映射和hostname
8 shh 免密登录
主节点清空.ssh目录
rm -rf ~/.ssh
生成公钥和私钥
ssh-keygen -t rsa
拷贝到各个机器
ssh-copy-id bigdata01.com
ssh-copy-id bigdata02.com
ssh-copy-id bigdata03.com
测试
ssh bigdata01.com
9 设置集群机器时间同步 ntp
#在主节点启动ntpd服务
sudo service ntpd start
3 Hadoop环境安装
1 解压hadoop 2.5.0
下载地址 hadoop下载地址
tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/
2 修改配置文件
配置文件都在 ${hadoop_path}/etc/hadoop 文件夹下
- vi hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
- vi core-site.xml (加入以下配置)
<property>
<name>fs.defaultFS</nam>
<value>hdfs://bigdata01.com:9000</value>#主节点的端口
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>kfk</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>
- vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>#副本数
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
- vi slaves
bigdata01.com
bigdata02.com
bigdata03.com
- vi mapred-site.xml 重新命名
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata01.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata01.com:19888</value>
</property>
</configuration>
6 vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata01.com</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>10000</value>
</property>
</configuration>
3 启动
0 分发到其他机器
scp -r /opt/modules/hadoop bigdata02.com:/opt/modules/
scp -r /opt/modules/hadoop bigdata03.com:/opt/modules/
1 格式化namenode
bin/hdfs namenode -format
2 启动namenode
sbin/hadoop-daemon.sh start namenode
3 启动datanode
sbin/hadoop-daemon.sh start datanode
4完成后可打开 namenode_ip:50070 查看集群信息
5 在另外两个datanode机器上运行
sbin/hadoop-daemon.sh start datanode
6 测试
创建目录
bin/hdfs dfs -mkdir -p /user/kfk/data
上传文件
bin/hdfs dfs -put /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml /user/kfk/data
7 启动yarn
#节点1 bigdata01.com
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
#节点2 bigdata02.com
sbin/yarn-daemon.sh start nodemanager
#节点3 bigdata03.com
sbin/yarn-daemon.sh start nodemanager
8测试
#wc.input 是hdfs 输入路径 output/1 是hdfs的输出路径
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/kfk/data/wc.input /user/kfk/data/output/1