一个偶然的机会,让我进了hadoop这个坑。我不得不说,Google真是个非常厉害的公司。为计算机行业贡献了很多亮瞎双眼额技术。初入Hadoop一般都要了解HDFS,YARN,Mapreduce。
现在来总结一下Hadoop分布式集群的搭建过程。
1.首先准备好相应的安装包,同时在你的服务器上配置好jdk。
完成后通过tar -zxvf jdk.tar.gz(文件名)进行解压
进入jdk 目录 输入pwd 得到当前路径拷贝下来。
使用命令vi /etc/profile 命令配置jdk
在文件的末尾 添加上
export JAVA_HOME=/apps/adf/java/jdk版本号
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后使用 source /etc/profile 使配置文件生效
输入java -version 如果能输出的配置成功不能输出成功代表注册失败
配置成功后,一方面可以执行 echo $JAVA_HOME 测试一下,看看路径是否正确。接下来可以将hadoop的压缩包解压。然后对其内部一些文件进行配置。
2.配置
1.配置host:
vi /etc/hosts
192.168.1.221 hadoop
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop(修改为 ip对应的名字)
重启一次服务器
这里很容易出错的。
2.配置ssh
sudo yum install ssh
ssh-keygen -t rsa
将公钥移动到另一个地方
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
主执行完上述三条命令后 可以ssh 自身的hostname 测试
3.修改其余配置
要修改下面几个文件
1.core-site.xml
添加:
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:8020</value>
</property>
2.hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/app/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/app/datanode</value>
</property>
<property>
<name>dfs.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
3.mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
4.yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
3.启动
格式化一个新的分布式文件系统:
$ bin/hadoop namenode -format
启动Hadoop守护进程:
$ bin/start-all.sh
启动后,使用jps命令查看是否启动 namenode,datanode,secondarynamenode。这三个进程,缺一不可。
jps
4230 SecondaryNameNode
5530 Jps
5306 DataNode
3947 NameNode
也可以通过网页访问:http://hadoop:50070(这里的hadoop我是用的是我的阿里云服务器的公网)
4.停止hdfs
sbin目录下 ./stop-dfs.sh
当然这其中肯定会报很多次错误。比如,上面的三个进程有时候会缺失,需要你学会去看日志。