安装HADOOP集服务器
1.规划
功能 | HOSTNAME | IP | 说明 |
Master | HDM01 | 192.168.1.1 | Namenode 兼datanode |
Slave | HDS02 | 192.168.1.2 | linux安装jdk教程Datanode |
Slave | HDS03 | 192.168.1.3 | Datanode |
Client | HDC04 | 192.168.1.4 | HADOOP客户端(HDFS/HIVE) |
2.环境
2.1.系统环境
安装 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节点机都要创建相同的用户和用户组,即在所有集服务器上都要建hadoop用户和用户组。
3.3.关闭防火墙( Root用户)
在启动前关闭集中所有机器的防火墙,不然会出现datanode开后又自动关闭。所以对集所有服务器关闭防火墙:chkconfig iptables off
查看防火墙状态:service iptables status
永久关闭防火墙:chkconfig iptables off
查看防火墙状态:chkconfig --list iptables
3.4.配置机器名和网络( Root用户)
⏹配置HOSTNAME
vi /etc/sysconfig/network,修改:HOSTNAME=hmaster
其他节点依次改为slave1,slave2…….不过必须和上面一致
验证; 输入命令 hostname
⏹ 配置网络IP
cd /etc/sysconfig/network-scripts
vi ifcfg-eth0(因为硬件不同,其中的“eth0”可能是其他名称)
⏹配置IP和HOSTNAME映射关系
vi /etc/hosts
[root@NOAS ~]# more /etc/hosts
#127.0.0.1 localhost localhost.localdomain localhost4 #localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.1 HDM01
192.168.1.2 HDS02
192.168.1.3 HDS03
192.168.1.4 HDC04
3.5.配置非root用户免验证登录SSH( hadoop用户)
提示:Linux配置ssh是通过欺骗登录用户名的。所以上面创建用户的时候,我们都把3个节点的username都设置成hadoop,主要是用户名必须一致
在hadoop用户的home目录,即 cd /home/hadoop 下执行命令
用hadoop用户登录(第 一/二/三步分别在每一个节点上都要执行)
第一步:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
意思是读取 id_dsa文件默认 全部是yes安装
和root用户一样,会发现多处2个文件,一个是公开密匙,一个是访问用户名字信息的
第二步:cat ~/.ssh/id_rsa.pub >> ~/.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_rsa.pub >> ~/.ssh/authorized_keys
ssh HDS03 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp authorized_keys hadoop@HDS02:/home/hadoop/.ssh/
scp authorized_keys hadoop@HDS03:/home/hadoop/.ssh/
最终authorized_keys文件要有各个集服务器的信息
第五步:验证
第一次会要求输入密码,完成后测试,每台机都要求能联通:
ssh HDM01
ssh HDS02
ssh HDS03
不输入密码 就表示成功了;
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
java-1.6.0-openjdk-javadoc-1.6.0.0-1.41.1.10.4.el6.x86_64
java-1.6.0-openjdk-devel-1.6.0.0-1.41.1.10.4.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.41.1.10.4.el6.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 -> /usr/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.x86_64
在当前用户配置JAVA_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
CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论