用AlibabaCloud (阿里巴巴云)服务器构建这个hadoop集群,挖洞已经太笨了,浪费了我将近一个星期的时间。
1 .作为准备工作的一部分,准备三台Alibaba云服务器
NameNode 121.196.224.191 datanode 1121.196.226.12 datanode 247.96.42.166端口设置(
Namenode
从安全组手动释放9000端口
在控制台查看Namenode的私网ip
Datanode1和Datanode2
通过安全组开放50010端口
2 .配置环境只需配置Namenode环境,其他datanode采用主路径方式即可
配置Namenode环境
所需的软件包ssh121.196.224.191//namenode节点mkdir/home/Hadoop CD/home/Hadoop/wget 3358 Deng lab.org/下载并解压缩cloud computing Hadoop.tar.gztar-zxvf Hadoop.tar.gz mkdir/home/JDK CD/home/JDK/wget http://Deng lab.OOP
vi ~/.bash_profile
原始配置为以下代码# exportpathexportjava _ home=/home/JDK/JDK1.7.0_ 75 export Java _ JRE=/home/JDK/JDK1.7.0_ 75 bzdwbl : $ Hadoop _ home/sbzdwbl : $ pathexportpath=$ Java _ home/bzdwbl 33660
更改Hadoop配置文件(以下全部替换原始配置) ) )。
cd $HADOOP_HOME
mkdir namenode
mkdir datanode
cd etc/hadoop/
vicore-site.xmlconfigurationpropertynamefs.default.name value HDFS 3360//NameNode 33609000/value/property pppp Hadoop-$ { user.name }/value/property/configurationvihdfs-site.XML }
configurationpropertynamedfs.replication/name value2/value/propertypropertynamedfs.NameNode.name.dir/name value nalue/home/Hadoop/Hadoop-2.6.0/NameNode/name _2/value/propertypropertynamedfs.datanode.data./home/home/had
configurationpropertynamemapred.job.tracker/namevaluenamenode 33609001/value/property/configurationvihadoop-env
export Java _ home=/home/JDK/JDK1.7.0_ 75vi slaves
数据节点设置
Datanode1Datanode2设置三个节点之间的无密码访问
更改主机名
ssh 121.196.224.191
VI/etc/hostnamenamenodevi/etc/hosts
121.196.224.191 NameNode 121.196.226.12 datanode 147.96.42.166 datanode 2http://www.Sina.com /
vi /etc/hostname
Datanode1 ssh 121.196.226.12
vi /etc/hostname
Datanode2 ssh Namenode
vi /etc/hosts
将Namenode更改为专用ip
将Namenode节点配置复制到datanode
scp/etc/hosts root @ 121.196.226.12:/etc/hosts scp/etc/hosts root @ 47.96.42.16663360/hosts sccc.babascc
点击三次sh-keygen-tRSA//enter即可
ssh Datanode1
点击三次sh-keygen-tRSA//enter即可
scp/root/. ssh/id _ RSA.pub root @ NameNode :/root/. ssh/id _ RSA.pub.datanode 1
ssh Datanode2
点击三次sh-keygen-tRSA//enter即可
scp/root/. ssh/id _ RSA.pub root @ NameNode :/root/. ssh/id _ RSA.pub.datanode 2
钥匙的交换
ssh Namenode
cd /root/.ssh
cat id_rsa.pub authorized_keys
catid _ RSA.pub.datanode1authorized _ keys
catid _ RSA.pub.datanode2authorized _ keys
chmod 644 authorized_keys
scp//ssh/authorized _ keys root @ datanode 1:/root/. ssh/authorized _ keys
scp//ssh/authorized _ keys root @ datanode 2:/root/. ssh/authorized _ keys
测试连接
ssh Datanode1
ssh Datanode2
ssh Namenode
启动和测试hadoop
将hadoop、jdk文件和配置从namenode复制到datanode。 scp-r/home/Hadoop/root @ datanode 1:/home/Hadoop scp-r/home/Hadoop/root @ datanode JDK/root @ datanode 1:
HDFS DFS管理-报告
jps
测试HDFS文件系统
hadoop fs -ls /
vi aaa.txt
hadoop fs -put aaa.txt /aaa.txt
恭喜你来到这里。 接下来,我们来看看到这一步为止的比较辣的漏洞吧
namenode没有启动。 jps找不到namenode。 运行HDFS DFS管理-报告以报告以下错误
retryingconnecttoserver : Hadoop/121.196.224.19133609000.already tried0time (s;
原因:配置到datanode节点的复制后,未将namenode的/etc/hosts文件中的NameNode ip更改为专用IP
有关详细信息,请参阅此博客datanode未启动。 查看datanode日志文件时,会报告以下错误
retryingconnecttoserver : NameNode/121.196.224.19133609000.already tried0time (s );
原因:如果在安全组规则设置中未打开namenode的9000端口hadoop fs -put aaa.txt /aaa.txt步骤,则会相应地长时间报告此类错误
infohdfs.dfsclient : excludingdatanode 47.96.42.166336050010
原因:名为47.96.42.166的datanode2上的50010端口未打开。 在安全组的规则设定中打开就可以了。
4 .如果此时datanode尚未启动,则可以在hadoop-daemon.sh start datanode中启动