(一)软件准备
1,hadoop-2.7.3.tar.gz(包)
2,三台机器装有cetos7的机子
(二)安装步骤
1,给每台机子配相同的用户
进入root : su root
创建用户s: useradd s
修改用户密码:passwd s
2.关闭防火墙及修改每台机的hosts(root 下)
vim /etc/hosts 如:(三台机子都一样)
vim /etc/hostsname:如修改后参看各自的hostname
关闭防火墙:
systemctl stop firewalld.service
禁用防火墙:systemctl disable firewalld.service
查看防火墙状态firewall-cmd --state
重启 reboot
3,为每台机的用户s配置ssh,以用户s身份登录 (一定要相同的用户,因为ssh通信默认使用相同用户身份访问另一台机子)
1,root 用户下修改: vim /etc/ssh/sshd_config,设置这三项后,执行service sshd restart
2,退出root,在用户s下操作
生成密钥对: ssh-keygen -t dsa(一路回车即可)
转入ssh目录下:cd .ssh
导入公钥: cat id_dsa.pub >> authorized_keys
修改authorized_keys权限:chmod 644
authorized_keys (修改权限,保证自己免密码能登入)
验证 ssh Master (在三台机都执行相同的操作)
3,实现master-slave免密码登录
在master 上执行: cat ~/.ssh/id_dsa.pub | ssh s@Slave1 'cat - >> ~/.ssh/authorized_keys'
cat ~/.ssh/id_dsa.pub | ssh s@Slave2 'cat - >> ~/.ssh/authorized_keys '
验证 :ssh Slave1
(三 )配置Hadoop集群
1,解压hadoop和建立文件
root用户下:tar zxvf /home/hadoop/hadoop-2.7.3.tar.gz -C /usr/
重命名:mv hadoop-2.7.3 hadoop
授权给s: chown -R s /usr/hadoop
2,创建hdfs相关文件(三台机子都需要操作)
创建存储hadoop数据文件的目录: mkdir /home/hadoopdir
存储临时文件,如pid:mkdir /home/hadoopdir/tmp
创建dfs系统使用的dfs系统名称hdfs-site.xml使用:mkdir /home/hadoopdir/dfs/name
创建dfs系统使用的数据文件hdfs-site.xml文件使用:mkdir /home/hadoopdir/dfs/data
授权给s: chown -R s /home/hadoopdir
3,配置环境变量(三台机子都需要操作)
root用户下:vim /etc/profile 添加如图: 保存退出后:source /etc/profile
验证:hadoop version(这里要修改 /usr/hadoop/etc/hadoop/hadoop-env.sh,即export JAVA_HOME=/usr/lib/jvm/jre)
4,配置hadoop文件内容
4.1 修改core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://Master:9000</value></property><property><name>io.file.buffer.size</name><value>131072</value></property><property><name>hadoop.tmp.dir</name><value>file:/home/hadoopdir/tmp/</value><description>A base for other temporary directories.</description></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property> </configuration>
4.2 修改hdfs-site.xml文件
<configuration><property><name>dfs.namenode.name.dir</name><value>file:///home/hadoopdir/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:///home/hadoopdir/dfs/data</value></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property> </configuration>
4.3 修改mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Master:19888</value></property><property><name>mapreduce.jobtracker.http.address</name><value>Master:50030</value></property><property><name>mapred.job.tracker</name><value>Master:9001</value></property> </configuration>
4.4 修改 yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value></property> <property><name>yarn.resourcemanager.hostname</name><value>Master</value></property><property><name>yarn.resourcemanager.address</name><value>Master:8032</value></property><property><name>yarn.resourcemanager.scheduler.address</name><value>Master:8030</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>Master:8031</value></property><property><name>yarn.resourcemanager.admin.address</name><value>Master:8033</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>Master:8088</value></property> </configuration>
4.5,修改 slaves文件
5,搭建集群(普通用户s)
格式hadoop文件:hadoop namenode -format (最后出现“util.ExitUtil: Exiting with status 0”,表示成功)
发送dfs内容给Slave1:scp -r /home/hadoopdir/dfs/* Slave1:/home/hadoopdir/dfs
发给dfs内容给Slave2:scp -r /home/hadoopdir/dfs/* Slave2:/home/hadoopdir/dfs
发送hadoop文件给数据节点:scp -r /usr/hadoop/* Slave1:/usr/hadoop/ scp -r /usr/hadoop/* Slave2:/usr/hadoop/
6,启动集群
./sbin/start-all.sh
1,jps(centos 7 默认没有,可以参照这里安装)查看:Master和Slave中分别出现如下所示:
2,离开安全模式(master): hadoop dfsadmin safemode leave
查看结果:hadoop dfsadmin -report,如图
3,登录网页查看:http://Master:50070 (查看live node) 查看yarn环境(http://Master/8088)
(四) 参考网页:
1,Ubuntu16.04 完全分布式搭建Spark2.0
2,Cetos6详细搭建hadoop集群
3,SSH集群搭建
4,livenode 为0 异常汇总(我就是第二种情况)