一. 系统架构
1、网络环境及个节点说明
NetWork HDFS Roles MapReduce Roles--------------------------------------------------------------
master:192.168.1.131 NameNode JobTracker
host2: 192.168.1.132 DataNode TaskTracker
host3: 192.168.1.133 DataNode TaskTracker
host4: 192.168.1.134 DataNode TaskTracker
---------------------------------------------------------------
二.Centos7 配置
1.配置网络
cd /etc/sysconfig/network-scripts/ #进入网络配置文件目录
vi ifcfg-enl33 #编辑配置文件,添加修改以下内容
BOOTPROTO=static #启用静态IP地址
ONBOOT=yes #开启自动启用网络连接
IPADDR0=192.168.1.131 #设置IP地址
PREFIXO0=24 #设置子网掩码
GATEWAY0=192.168.1.1 #设置网关
#DNS1=8.8.8.8 #设置主DNS
#DNS2=8.8.4.4 #设置备DNS
:wq! #保存退出
service network restart #重启网络
ping www.baidu.com #测试网络是否正常
------------------------------------------
2.修改主机名
vi /etc/hosts
192.168.1.131 master
192.168.1.132 host2
192.168.1.133 host3
192.168.1.134 host4
保存退出
重启动
------------------------------------------
3.关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
查看SSH是否安装(检查是否装了SSH包)
rpm -qa | grep ssh
------------------------------------------
查看SSH服务是否正在运行
/etc/init.d/sshd status
------------------------------------------
sshd 查看是否启动22端口
netstat -antp | grep sshd
------------------------------------------
检查SSHD是否在本运行级别下设置为开机启动
chkconfig --list sshd
------------------------------------------
设置SSH服务为开机启动
chkconfig sshd on
------------------------------------------
设置系统默认命令行启动
编辑 /etc/inittab
id:3:initdefault:
------------------------------------------
5.配置ssh免密登录
在master上执行
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat id_rsa.pub >> authorized_keys
把master 上.ssh/下的authorized_keys 复制到其他节点
scp authorized_keys host2:~/.ssh/
scp authorized_keys host3:~/.ssh/
scp authorized_keys host4:~/.ssh/
在各节点上修改权限
chmod 600 authorized_keys
chmod 700 ../.ssh/
-------------------------------------------
先要删除自带的openjdk
rpm -qa | grep java
rpm -e –-nodeps XXXX_openjdk_XXX
解压 tar –xzvf jdk-xxx-linux-x64.gz
环境变量配置
vi /etc/profile 或者 当前用户目录下的 .bash_profile
export JAVA_HOME=/home/xxx/jdk1.8.0_131
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile #使配置生效
--------------------------------------------
7.安装Hadoop 2.7.1
以下操作在master上执行
#解压hadoop包
tar -zxvf hadoop...
#新建如下目录(wyf)
mkdir /dfs
mkdir /dfs/name
mkdir /dfs/data
mkdir /tmp
设置环境变量,#vi ~/.bash_profile
# set hadoop path
export HADOOP_HOME=/opt/hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/sbin
export PATH=$PATH:$HADOOP_HOME/bin
使环境变量生效,$source ~/.bash_profile
修改JAVA_HOME值
hadoop-env.sh yarn-env.sh
添加 export JAVA_HOME=/home/xxx/jdk1.8.0_131
-----------------------------------------------
将hadoop传输到所有子节点目录
scp -r /usr/hadoop hadoop@host2:/usr/hadoop
启动hadoop,进入hadoop安装目录
bin/hdfs namenode -format
sbin/start-all.sh
启动后分别在master, node下输入jps查看进程
停止的话,输入命令,sbin/stop-all.sh
浏览器打开http://192.168.1.131:8088/
浏览器打开http://192.168.1.131:50070/
至此,hadoop 集群环境安装完成。
--------------------------------------------------------------------
测试Wordcount
hadoop fs -mkdir /input
在HDFS中创建input文件目录
hadoop fs -put LICENSE.txt /input
LICENSE.txt的文件,把它放到hdfs的input目录下面
hadoop fs -ls /input
查看文件是否正确传入到/input目录下
执行:hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output
或者绝对路径:
hadoop jar /home/yy/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output
hadoop fs -ls /output
查看输出结果的目录
hadoop fs -cat /output/part-r-00000
查看输出结果
-----------------------------------------------------------