@
Hadoop 核心框架是HDFS和mapreduce,hdfs负责存储,mapreduce负责处理。
在阿里云建立实例后,建议使用xshell软件连接阿里云,xftp传输文件,具体方法可自行搜索。
在这里我开了两个的阿里云实例,系统是centos7.4,因为是第一次用,所以用两个进行实验。一个用作NameNode(存储元数据--数据的数据,管理DataNode)master,另一个作为DataNode(存储数据)slave。
首先是都下载java,建议直接到Oracle官网下载linux版本的java利用xftp直接上传到服务器上,然后进入想安装的文件夹,我安装在了/opt下(每个节点都要搞):
cd /opt mkdir java tar -zxvf ...
然后配置环境变量 vim /etc/profile :
保存退出,然后 source /etc/profile ,使设置生效。
输入 java -version 验证一下。
然后修改hosts文件(每个节点都要搞):
上面两行是默认的,注释掉了。前面写ip,后面是hostname,master上ping slave测试:
然后是创建hadoop用户,安装Hadoop(每个节点都要搞):
useradd hadoop && echo hadoop | passwd --stdin hadoop
echo "hadoopALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
su - hadoop
cd /usr/local/src/
wget 。。。(Hadoop下载地址填到。。。这里)
sudo tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop/ && cd /home/hadoop
sudo mv hadoop-2.7.3/ hadoop
sudo chown -R hadoop:hadoop hadoop/
配置环境变量(每个节点):
创建Hadoop相关目录:
接着是进行SSH配置,设置master节点免密登录其他节点:
ssh-keygen -t rsa
ssh-copy-id slave
然后测试一下:ssh slave
修改hadoop配置文件:
cd hadoop/etc/hadoop/
egrep JAVA_HOME hadoop-env.sh
export JAVA_HOME=....
grep JAVA_HOME yarn-env.sh
export JAVA_HOME=....
修改slaves文件
里面写入slave 的hostname
修改core-site.xml
修改hdfs-site.xml
修改mapred-site.xml:
配置节点yarn-site.xml:
复制到其它节点:
scp -r /home/hadoop/hadoop/ (slave的ip):/home/hadoop/
格式化namenode:hdfs namenode –format
启动和停止hadoop:
/home/hadoop/hadoop/sbin/start-dfs.sh
/home/hadoop/hadoop/sbin/stop-dfs.sh
启动yarn分布式计算框架:
/home/hadoop/hadoop/sbin/start-yarn.sh star
/home/hadoop/hadoop/sbin/stop-all.sh停止
启动jobhistory服务,查看mapreduce状态:
/home/hadoop/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
starting historyserver, logging to /home/hadoop/hadoop/logs/mapred-h
查看hdfs状态:
/home/hadoop/hadoop/bin/hdfs dfsadmin –report
lynx查看hdfs:
完成后可以去测试一下,使用pi,wordcount以及Terasort。