我爱编程

Hadoop伪分布式安装配置

2018-05-19  本文已影响0人  御林君

1、配置主机名

vim /etc/sysconfig/network
<!-- 修改如下 -->
HOSTNAME=CH0
<!-- 更改主机名需要重启后才能永久生效 -->
<!-- 如果不想重启,可以执行,这种方式是临时的 -->
hostname CH0

2、配置hosts文件

vim /etc/hosts

127.0.0.1         localhost
::1               localhost
192.168.6.20      CH0

3、配置免密码登录

ssh-keygen
<!-- 然后一直回车 -->
<!-- 生成节点的公钥,私钥,生成的文件会自动放在/root/.ssh目录下 -->
ssh-copy-id  root@CH1
<!-- 生成的秘钥发送给CH1,可以实现CH1免密码登录到CH0 -->

4、下载hadoop

http://hadoop.apache.org/releases.html#Download
说明:source为源码,binary为安装包。

5、上传到linux服务器中,并解压到相应位置

[root@CH0 ~]# cd soft/
[root@CH0 soft]# ls
hadoop-2.7.1.tar.gz
[root@CH0 ~]# mkdir -p /usr/lib/hadoop
[root@CH0 ~]# tar -zxvf hadoop-2.7.1.tar.gz -C /usr/lib/hadoop

6、配置hadoop-env.sh

[root@CH0 soft]# cd /usr/lib/hadoop/hadoop-2.7.1/etc/hadoop/
[root@CH0 hadoop]# vim hadoop-env.sh
--配置JAVA_HOME--
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
--配置HADOOP--
export HADOOP_CONF_DIR=/usr/lib/hadoop/hadoop-2.7.1/etc/hadoop
--配置文件生效--
[root@CH0 hadoop]# source hadoop-env.sh

7、配置core-site.xml

[root@CH0 hadoop]# vim core-site.xml
<configuration>
<!-- 用来指定hdfs的老大,namenode的地址 -->
<property>
<name>fs.default.name</name>
<value>hdfs://CH0:9000</value>
</property>
<!-- 用来指定hadoop运行时产生文件的存放位置 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/lib/hadoop/hadoop-2.7.1/tmp</value>
</property>
</configuration>

8、配置hdfs-site.xml

[root@CH0 hadoop]# vim hdfs-site.xml 
<!-- 指定hdfs保存数据副本的数量 -->
<!-- 如果是伪分布模式,此值为1 -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 设置hdfs的操作权限,false表示任何用户都可以操作 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

9、修改mapred-site.xml

10、修改yarn-site.xml

[root@CH0 hadoop]# vim yarn-site.xml
      
<configuration>
<!-- 指定yarn的老大,resourcemanager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<!-- CH0是主机名 -->
<value>CH0</value>
</property>
<!-- Site specific YARN configuration properties -->
<!-- nodemanager获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

11、配置slaves文件

[root@CH0 hadoop]# vim slaves
<!-- 伪分布式只有一台机器,所以配置一个就可以 -->
CH0

12、创建hadoop的tmp文件

[root@CH0 hadoop]# cd ../../
[root@CH0 hadoop-2.7.1]# mkdir tmp

13、配置hadoop的环境变量

[root@CH0 hadoop-2.7.1]# vim /etc/profile
#java env
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.1
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export JAVA_HOME PATH CLASSPATH HADOOP_HOME
[root@CH0 hadoop-2.7.1]# source /etc/profile

14、格式化namenode

15、启动hadoop

[root@CH0 hadoop-2.7.1]# cd sbin/
[root@CH0 sbin]# sh start-dfs.sh

16、测试hadoop是否启动

<!-- 若出现如下端口,说明启动正常 -->
[root@CH0 sbin]# jps
1648 NameNode
1766 DataNode
2027 Jps
1918 SecondaryNameNode

17、jps启动后,50070页面无法访问解决

整个环境下JDK正常,hadoop配置文件正常,各个守护进程正常启动,防火墙已关闭,但是启动后无法从浏览器中访问50070、50030端口,显示无法访问

[root@CH0 sbin]# jps
1648 NameNode
1766 DataNode
2027 Jps
1918 SecondaryNameNode

原因:namenode初始化默认端口失效,需要手动修改配置文件设置默认端口
1、在hdfs-site.xml 添加如下:
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
2、然后重新格式化namenode,启动hadoop。最终访问正常
     0.0.0.0是本地对应的地址,具体情况视ip更换
     50070 - Hadoop DFS 状态

上一篇下一篇

猜你喜欢

热点阅读