HDFS伪分布式环境搭建:
一、环境软件需求:
CentOS-6.4
jdk-1.8.0
hadoop-2.7.4
搭建hadoop,必须安装jdk和ssh,运行sshd以使用管理远程Hadoop守护进程的Hadoop脚本;
二、安装SSH并配置免密登陆:
yum -y install openssh-clients或yum install ssh;下载完后在~目录使用命令:ssh-keygen -t rsa创建公钥,会在~目录下生成.ssh(隐藏文件),使用ls -la查看并进入,有id_rsa和id_rsa.pub两个文件,使用命令:cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys,复制进来即可;
三、jdk安装配置:
在/etc/profile中配置
JAVA_HOME=/software/jdk
export PATH=$JAVA_HOME/bin::$PATH
使用java -version查看版本即可;
四、Hadoop解压配置
下载:直接取cdh网站下载
解压:tar -zxvf hadoop-2.7.4.tar.gz -C /software/hadoop
hadoop配置文件的修改(hadoop_home/etc/hadoop)
1. hadoop-evn.sh
export JAVA_HOME=/software/jdk
2. core-site.xml
<!-- NameNode URI,这里的值指的是默认的HDFS路径 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://yaoliang:9000</value>
</property>
<!-- 这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop/tmp</value>
</property>
3. hdfs-site.xml
<!-- 指定DataNode存储block的副本数量,不大于DataNode的个数就行 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 大文件系统HDFS块大小为256M,默认值为128M,可不配置 -->
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
4. YARN框架配置:
mapred-site.xml(将带后缀名的重命名为这个即可)
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>yaoliang</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1024</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
五、启动hdfs
格式化文件系统(仅第一次执行即可,不要重复执行):hdfs/hadoop namenode -format
注意有无报错信息;
启动hdfs: sbin/start-dfs.sh
验证是否启动成功:
jps: DataNode
NameNode
SecondaryNameNode
浏览器访问方式:http://hadoop000:50070
停止hdfs: sbin/stop-dfs.sh
启动yarn: sbin/start-yarn.sh
验证是否启动成功:
jps: NodeManager
ResourceManager
浏览器访问方式:http://hadoop000:8088
停止yarn: sbin/stop-yarn.sh六、遇到问题
注意:1、启动hdfs前要先关闭防火墙,service iptables star/stop 即时开启/关闭防火墙;
chkconfig iptables on/off 永久开启/关闭防火墙;
service iptables status 查看防火墙状态;
2、要在/etc/hosts和/etc/sysconfig/network文件中映射用户名和IP;
3、yum -y install openssh-clients 下载并打开ssh连接协议,最好能配置ssh免登陆;
4、yum install vim-enhanced.x86_64 下载vim文本编辑器;
5、浏览器访问50070时,用户名与IP对应时要C:\Windows\System32\drivers\etc\hosts文件中添加对应,如192.168.0.222 hadoop000;
七、hadoop开启之后DataNode没有启动?
1. 先执行stop-all.sh暂停所有服务
2. 将所有Salve节点上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夹,DataNode存放数据块的位置)、 logs 文件夹删除 , 然后重新建立tmp , logs 文件夹
3. 将所有Salve节点上的/usr/hadoop/conf下的core-site.xml删除,将master节点的core-site.xml文件拷贝过来,到各个Salve节点
4. 重新格式化: hadoop namenode -format
5. 启动:start-all.sh