Hadoop群组服务器部署使用介绍(一)
一、批量添加用户hadoop和设置密码,并为hadoop用户分配sudoer权限
[root@yumserver ~]# useradd hadoop
[root@yumserver .ssh]# echo 'hadoop' | passwd --stdin hadoop
[root@yumserver .ssh]# vim /etc/sudoers
二、同步服务器时间。或可在内网架设时间服务器,具体另述。
1、安装ntp
[root@yumserver ~]# yum install -y ntp
2、同步时间
[root@yumserver ~]# ntpdate asia.pool.ntp.org
网上推荐的时间服务器如下。
time.nist.gov
time.nuri.net
asia.pool.ntp.org
asia.pool.ntp.org
asia.pool.ntp.org
asia.pool.ntp.org
3、设置定时同步计划。
[root@yumserver ~]# vim /etc/crontab
*/10 * * * * root ntpdate asia.pool.ntp.org
[root@yumserver ~]# /etc/init.d/crontab restart
三、配置各主机名、内网主机名映射
[root@master ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master
批量修改/etc/hosts文件,配置内网主机名。hosts文件的作用相当如DNS,提供IP地址到hostname的对应。
cat >> /etc/hosts << EOF
192.168.91.10 yumserver
192.168.91.11 master
192.168.91.12 master
192.168.91.21 slave1
192.168.91.22 slave2
192.168.91.23 slave3
EOF
四、关闭防火墙和SELinux
关闭防火墙
[root@master .ssh]# chkconfig iptables off
[root@master .ssh]# chkconfig iptables --list
关闭SELinux
# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
[root@master .ssh]# setenforce 0
五、配置hadoop主机ssh免密登陆其它
切换到hadoop用户
[root@master ~]# su - hadoop
[hadoop@master ~]$ ssh-keygen
将公钥拷贝到其它机器上
编写脚本文件
#!/bin/bash
SERVERS="yumserver master master2 slave1 slave2 slave3"
PASSWORD=hadoop
auto_ssh_copy_id() {
expect -c "set timeout -1;
spawn ssh-copy-id $1;
expect {
*(yes/no)* {send -- yes\r;exp_continue;}
*assword:* {send -- $2\r;exp_continue;}
eof {exit 0;}
}";
}
ssh_copy_id_to_all() {
for SERVER in $SERVERS
do
auto_ssh_copy_id $SERVER $PASSWORD
done
}
ssh_copy_id_to_all
检查文件
[hadoop@master sh]$ cat /home/hadoop/.ssh/authorized_keys
六、安装JDK
见 http://blog.csdn.net/qq_33282992/article/details/78909046
七、Hadoopp安装部署
1、上传hadoop安装包到服务,并解压到自定义目录apps下
tar -zxvf hadoop-2.7.5.tar.gz -C ~/apps/
2、编辑系统配置文件
[hadoop@master hadoop-2.7.5]$ vi /etc/profile
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3、进入目录/home/hadoop/apps/hadoop-2.7.5/etc/hadoop,编辑相关配置文件
3.1 vi hadoop-env.sh
确保配置文件中JAVA_HOME为jdk安装目录。
export JAVA_HOME=/usr/local/jdk1.7.0_45
3.2 vi core-site.xml 配置默认文件系统和进程临时数据或工作数据
fs.defaultFS
hdfs://master:9000
hadoop.tmp.dir
/home/hadoop/hdpdata
3.3 vi hdfs-site.xml 配置数据副本数量
dfs.replication
3
3.4 vi mapred-site.xml
mapreduce.framework.name
yarn
3.5 vi yarn-site.xml
yarn.resourcemanager.hostname
master
yarn.nodemanager.aux-services
mapreduce_shuffle
3.6 vi slaves
slave1
slave2
slave3
4、将配置好的hadoop软件拷贝到其它服务器
[hadoop@master ~]$ scp -r apps slave1:/home/hadoop/
[hadoop@master ~]$ scp -r apps slave2:/home/hadoop/
[hadoop@master ~]$ scp -r apps slave3:/home/hadoop/
八、格式化文件系统并启动服务
1、格式化namenode
[hadoop@master ~]$ hdfs namenode -format
......
18/01/03 17:29:35 INFO common.Storage: Storage directory /home/hadoop/hdpdata/dfs/name has been successfully formatted.
18/01/03 17:29:35 INFO namenode.FSImageFormatProtobuf: Saving image file /home/hadoop/hdpdata/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
......
表示成功
2、启动hadoop
先启动HDFS
[hadoop@master sbin]$ ./start-dfs.sh
再启动YARN
[hadoop@master sbin]$ ./start-yarn.sh
3 、验证是否启动成功
在主机namenode上使用jps命令验证
[hadoop@master .ssh]$ jps
5766 NameNode
12816 ResourceManager
12892 Jps
5957 SecondaryNameNode
在从机datanode上使用jps命令验证
[hadoop@slave1 ~]$ jps
9972 Jps
9845 NodeManager
4664 DataNode
或打开
http://master:50070 (HDFS管理界面)
http://master:8088 (MR管理界面)
一切顺利,其它再述!