1.基本环境:
操作系统:
Centos 7.2.1511
三台虚机:
192.168.163.224 master
192.168.163.225 node1
192.168.163.226 node2
软件包
hadoop-2.7.2.tar.gz
jdk-7u79-linux-x64.tar.gz
2.配置系统环境
配置ntp时间同步
参考http://bigtrash.blog.51cto.com/8966424/1826481
修改hostname
192.168.163.224主机:
echo
"master"
>
/etc/hostname
192.168.163.225主机:echo
"node1"
>
/etc/hostname
192.168.163.226主机:echo
"node2"
>
/etc/hostname
master上修改hosts文件
echo
"192.168.163.224 master"
>>
/etc/hosts
echo
"192.168.163.225 node1"
>>
/etc/hosts
echo
"192.168.163.225 node2"
>>
/etc/hosts
同步到node1,node2上的主机
scp
/etc/hosts
node1:
/etc/
scp
/etc/hosts
node2:
/etc/
各台主机上相互ping,测试是否可以通过host连通
ping
master
ping
node1
ping
node2
master,node1,node2上关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3.配置hadoop环境
master,node1,node2上安装jdk
rpm -qa|
grep
openjdk
#检查openjdk,存在则删除
yum remove *-openjdk-*
####删除openjdk#####
安装sunjdk
#yum install glibc.i686(64位系统安装32位包,需要安装)
#
tar -zxvf jdk-7u79-linux-x64.tar.gz
#
mv ./jdk1.7.0_79 /usr/
master,node1,node2上创建hadoop用户
useradd hadoop #增加hadoop用户,用户组、home目录、终端使用默认
passwd hadoop #修改密码
建议在学习阶段将hadoop用户加入sudo权限管理,简单方法如下
1.执行visudo命令
2.在root ALL=(ALL) ALL 后加入
hadoop ALL=(ALL) ALL
master,node1,node2上进入hadoop用户:
su - hadoop
master,node1,node2上无密钥连接:
master上的hadoop用户通过rsa算法生成非对称密钥对:
ssh
-keygen -t rsa
cd
/home/hadoop/
.
ssh
/
cp
id_rsa.pub authorized_keys
chmod
go-wx authorized_keys
master上的公钥authorized_keys拷贝到node1,node2上的hadoop用户
scp
authorized_keys node1:
/home/hadoop/
.
ssh
/
scp
authorized_keys node2:
/home/hadoop/
.
ssh
/
可通过如下命令测试
ssh node1
ssh node2
为方便node1,node2中hadoop用户可以同时登录master,这里我们集群中的所有用户共用一个密钥
scp
~/.
ssh
/id_rsa
node1:
/home/hadoop/
.
ssh
/
scp
~/.
ssh
/id_rsa
node2:
/home/hadoop/
.
ssh
/
master,node1,node2上修改环境变量
vi
/etc/profile
JAVA_HOME=
/usr/jdk1
.7.0_79
HADOOP_HOME=
/usr/local/hadoop
export
PATH=$JAVA_HOME
/bin
:$HADOOP_HOME
/sbin
:$HADOOP_HOME
/bin
:$PATH
su
- hadoop
#重新读取环境变量
master,node1,node2上创建相关目录
sudo
mkdir
-p
/usr/local/hadoop
sudo
chown
-R hadoop:hadoop
/usr/local/hadoop
sudo
mkdir
-p
/data/hadoop/
#创建 hadoop 数据目录结构
sudo
chown
-R hadoop:hadoop
/data/hadoop/
mkdir
-p
/data/hadoop/tmp/
#创建 tmp
mkdir
-p
/data/hadoop/hdfs/
#创建hdfs
mkdir
-p
/data/hadoop/hdfs/data
#创建datanode目录
mkdir
-p
/data/hadoop/hdfs/name
#创建namenode目录
mkdir
-p
/data/hadoop/hdfs/namesecondary
安装hadoop
wget http:
//mirror
.bit.edu.cn
/apache/hadoop/common/hadoop-2
.7.2
/hadoop-2
.7.2.
tar
.gz
tar
-zxvf hadoop-2.7.2.
tar
.gz
mv
hadoop-2.7.2
/usr/local/hadoop
chown
-R hadoop:hadoop
/usr/local/hadoop/
4.修改配置文件
配置文件相关变量详细解释可查看官网:
http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/
cd
$HADOOP_HOME
/etc/hadoop
4.1 vi hadoop-env.sh
export
HADOOP_HEAPSIZE=128
#默认为1000M,这里我们修改为128M
4.2 vi core-site.xml #全局配置
/name >
//master :9000< /value >
< /property >
/name >
/value >
< /property >
< /property >
/name >
/value >
< /property >
/name >
/value >
< /property >
dir < /name >
/data/hadoop/tmp < /value >
< /property >
file .buffer.size< /name >
/value >
< /property >
< /configuration >
|
4.3 vi hdfs-site.xml #hdfs中NameNode,DataNode局部配置
dir < /name >
/data/hadoop/hdfs/name < /value >
/description >
< /property >
dir < /name >
/data/hadoop/hdfs/data < /value >
/description >
< /property >
/name >
/value >
< /property >
/name >
/value >
< /property >
推荐阅读
|