-
1.
规划
功能
Master
Slave
Slave
Client
2.
环境
2.1.
系统环境
安装
HADOOP
集群服务器
HOSTNAME
HDM01
HDS02
HDS03
HDC04
IP
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
说明
Namenode
兼
datanode
Datanode
Datanode
HADOOP
客户端
(HDFS/HI
VE)
安装
centOS6.2
=>
软件工作站(
software Development
Workstation
)
3.
Hadoop
安装
3.1.
安装和配置
SSH
、
RSYNC(Root
用户
)
安装
SSH
和
rsync
一般系统自带了;
3.2.
创建
Hadoop
运行用户
(Root
用
户
)
一般我们不会经常使用
root
用户运行
hadoop
,所以要创建一
个平常运行和管理
Hadoop
的
用户
;
?
创建
hadoop
用户和用户组
useradd hadoop
PS:
master
和
slave
p>
节点机都要创建相同的用户和用户组,即在所有集群服务器上都要
建
hadoop
用户和用户组。
3.3.
关闭防火墙
(Root
用户
)
在启动前关闭集群中所有机器的防火墙,
不然会出现
< br>datanode
开后又自动关闭。
所以对
集群所有服务器关闭防火墙:
chkconfig iptables
off
查看防火墙状态:
service iptables
status
永久关闭防火墙:
chkconfig
iptables off
查看防火墙状态:
chkconfig
--list
iptables
3.4.
配置机器名和网络
(Root
用户
)
?
配置
HOSTNAME
vi /etc/sysconfig/network
,修改:
HOSTNAME=hmaster
其他节点依次改为
sl
ave1
,
slave2
??
.
不过必须和上面一致
验证
;
输入命令
hostname
?
配置网络
IP
cd
/etc/sysconfig/network-scripts
vi
ifcfg-eth0
(因为硬件不同,其中的“
eth0
p>
”可能是其他名称)
?
配置
IP
和
HOSTNAME
映射关系
vi /etc/hosts
[root@NOAS ~]# more /etc/hosts
#127.0.0.1
localhost omain localhost4 #omain4
::1
localhost omain localhost6
omain6
192.168.1.1HDM01
192.168.1.2HDS02
192.168.1.3HDS03
192.168.1.4HDC04
3.5.
配置非
root
用户免验证登录
SSH
(
hadoop
用户)
提示:
Linux
配置
p>
ssh
是通过欺骗登录用户名的。所以上面创建用户的时候,我们都
把
3
个节点的
username
都设置成
hadoop
,
主要是用户名必须一致
在
had
oop
用户的
home
目录,即
cd /home/hadoop
下执行命令
用
hadoop
用户登录
(
第
一
/
二
/
三步分别在每一个节点上都要执行
)
第一步:
ssh-keygen -t rsa
-P '' -f ~/.ssh/id_rsa
意思是读取
id_dsa
文件默认全
部是
yes
安装
和
root
用户一样,
会发现多处
2
个文件,一个是公开密匙,一个是访问用户名
字信息的
第二步:
cat
~/.ssh/id_ >>~/.ssh/authorized_keys
是把暴
露出来的公共密匙按顺序导入
authorized_keys
中保存
第三步:
chmod 700
~/.ssh
chmod 600 ~/.ssh/authorized_keys
ssh
机制很严谨,对文件的权限要求非常严格
我们需要把
.ssh
文件夹
的权限改为
700
,默认是
777
authorized_keys
的权限这里是对的,
600
第四步:
在主节点上执行
下列命令
ssh HDS02 cat
~/.ssh/id_ >> ~/.ssh/authorized_keys
ssh HDS03 cat ~/.ssh/id_ >>
~/.ssh/authorized_keys
scp
authorized_keys hadoop@HDS02:/home/hadoop/.ssh/
scp authorized_keys
hadoop@H
DS03:/home/hadoop/.ssh
/
最终
authorized_keys
文件要
有各个集群服务器的信息
第五步:验证
第一次会要求输入密码,完成后测试,每台机都要求能联通:
ssh HDM01
ssh HDS02
sshHDS03
不输入密码就表示成功了;
3.6.
安装
JDK(
hadoop
用户
)
检查是否已安装
JDK: rpm -qa|grep jdk
检查
JAVA
安装目录:
whick java
检查是否配置
JAVA_HOME: env|grep
JAVA_HOME
which java
和
JAVA_HOME
路径不一致
,是做了
LINK
映射
[root@NOAS ~]# su - hadoop
[hadoop@NOAS ~]$$ rpm -qa|grep jdk
6.x86_64
6.x86_64
6.x86_64
[hadoop@NOAS ~]$$
which java
/usr/bin/java
[hadoop@NOAS ~]$$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Feb 26 22:26
/usr/bin/java ->
/etc/alternatives/java
[hadoop@NOAS ~]$$ ls -l
/etc/alternatives/java
lrwxrwxrwx. 1
root root 46 Feb 26 22:26
/etc/alternatives/java ->
/u
sr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
[hadoop@NOAS ~]$$ env|grep JAVA_HOME
JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x
86_64
在当前用户配置
JAV
A_HOME,
在
.bash_profile
文件增加蓝色部分
,最后
source /home/hadoop/.bash_profile
,使生效
hadoop@NOAS ~]$$
cd /home/hadoop/
[hadoop@NOAS ~]$$ more
.bash_profile
# .bash_profile
# Get the aliases and
functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment
and startup programs
PATH=$$PATH:$$HOME/bin
export
PATH
JAVA_HOME=/usr/lib/jvm
/jre-1.6.0-openjdk.x86_64
PATH=$$JAVA_HOME/bin:$$PATH
CL
ASSPATH=$$CLASSPATH:.:$$JAVA_HOME/lib/:$$JAVA_HOME/li
b/
export JAVA_HOME
export PATH
export CLASSPATH
[hadoop@NOAS ~]$$
3.7.
安装
Hadoop(root
用户
)
3.7.1.
安装
< br>rpm
包:
用
rpm
包安装,目录都是默认的比较规范
用
root
用户:
rpm -ivh /opt/colud/hadoop-1.2.1-1.x86_
3.7.2.
配置
< br>Hadoop
配置文件
(
p>
每台机器服务器都要配置,
且都是一样的,
配置完一台其他的只需要拷贝
,
每台
机
上的
和
都是配
master
服务器的
hostnam
e
,因为都是配
置
hadoop
的入口
)
:整个
hadoop
入口的配置
vi
/etc/hadoop/
,配置如下内容:
vi
/etc/hadoop/
,配置如下内容:
vi
/etc/hadoop/
,配置如下内容:
配置说明:
?
?
是
hadoop
文件系统依赖的基础配置,很多路径都依赖它。它默认<
/p>
的位置是在
/tmp/{$$user}
下
面,
但是在
/tmp
路径下的存储是不
安全的,
因为
linux
一次重启,文
件就可能被删除。
修改该参数后要格式
NAMENODE: hadoop
namenode -format
3.7.3.
配置
< br>Hadoop
集群配置文件
(
只需要配置
namemode
节点机<
/p>
,
这里的
HDM01
即做
namenode
也兼
dat
anode
,
一般情况
namenod
e
要求独立机器,
namemode
不
兼
datanode
)
vi
/etc/hadoop/masters
,配置如下内容:
HDM01
vi
/etc/hadoop/slaves
,配置如下内容:
HDM01
HDS02
HDS03
3.7.4.
配置非
ROOT
用户权限
?
(包含用非
root
用户启动
Hadoop
所需
的额外项)将
/usr/sbin/
下的以下脚本文件的
owner
设为
testusr
,且赋给
owner
全权
r
wx :
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/rcc
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chown hadoop:hadoop /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/rcc
chmod u+rwx
/usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod
u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
chmod u+rwx /usr/sbin/
-
-
-
-
-
-
-
-
-
上一篇:阿里云服务手册
下一篇:(完整版)说说英语的音节和发音规律