用户登录
用户注册

分享至

hadoop伪分布式配置

  • 作者: 爱吃水果沙拉的秋天
  • 来源: 51数据库
  • 2020-10-05

0.关闭防火墙

service iptables start;#立即开启防火墙,但是重启后失效。

service iptables stop;#立即关闭防火墙,但是重启后失效。


重启后生效 

chkconfig iptables on;#开启防火墙,重启后生效

chkconfig iptables off;#关闭防火墙,重启后生效 


1.配置主机名

!!!!!注意安装hadoop的集群主机名不能有下划线!!不然会找不到主机!无法启动!

配置主机名

$vi /etc/sysconfig/network

$source /etc/sysconfig/network

例如:

NETWORKING=yes

HOSTNAME=hadoop01


2.配置Hosts

vi /etc/hosts

填入以下内容

127.0.0.1 hadoop01

其他主机和ip对应信息。。。


3.配置面密码互通

生成自己的公钥和私钥,生成的公私钥将自动存放在/root/.ssh目录下。

$ ssh-keygen

把生成的公钥copy到远程机器上

$ ssh-copy-id [user]@[host]

此时在远程主机的/root/.ssh/authorized_keys文件中保存了公钥,在known_hosts中保存了已知主机信息,当再次访问的时候就不需要输入密码了。

$ ssh [host]

通过此命令远程连接,检验是否可以不需密码连接


4.安装JDK

通过fz将jdk安装包上传

解压安装包

tar -zxvf [jdk安装包位置]

配置环境变量

修改profile -- 这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

vim /etc/profile

在文件行尾加入配置后保存退出

export JAVA_HOME=/home/app/jdk1.7.0_45/

export PATH=$PATH:$JAVA_HOME/bin

重新加载profile使配置生效

source /etc/profile

环境变量配置完成,测试环境变量是否生效

echo $JAVA_HOME 

java -version


5.安装hadoop

通过fz将hadoop安装包上传到linux

解压安装包

tar -zxvf [hadoop安装包位置]


6.配置hadoop

(1)修改 hadoop-env.sh

通过vim打开

vim [hadoop]/etc/hadoop/hadoop-env.sh

主要是修改java_home的路径

在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改成具体的路径

重新加载使修改生效

source hadoop-env.sh

(2)修改 core-site.xml

通过vim打开

vim [hadoop]/etc/hadoop/core-site.xml

增加namenode配置、文件存储位置配置

<configuration>

<property>

<!--用来指定hdfs的老大,namenode的地址-->

<name>fs.defaultFS</name>

<value>hdfs://hadoop01:9000</value>

</property>

<property>

<!--用来指定hadoop运行时产生文件的存放目录-->

<name>hadoop.tmp.dir</name> 

<value>/home/park/work/hadoop-2.5.2/tmp</value>

</property>

</configuration>

(3)修改 hdfs-site.xml

通过vim打开

vim [hadoop]/etc/hadoop/hdfs-site.xml

配置包括自身在内的备份副本数量。

<configuration>

<property>

<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->

<!--伪分布式模式,此值必须为1-->

<name>dfs.replication</name> 

<value>3</value>

</property>

</configuration>


(4)修改 mapred-site.xml

说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个

cp mapred-site.xml.template mapred-site.xml

通过vim打开

vim [hadoop]/etc/hadoop/mapred-site.xml

配置mapreduce运行在yarn上

<configuration>

<property>  

<!--指定mapreduce运行在yarn上-->

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>


(5)修改 yarn-site.xml

通过vim打开

vim [hadoop]/etc/hadoop/yarn-site.xml

配置

<configuration>

<property>

<!--指定yarn的老大resourcemanager的地址-->

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

<property>

<!--NodeManager获取数据的方式-->

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>


(6)修改 slaves


(7)配置hadoop的环境变量

vim /etc/profile

export HADOOP_HOME=/home/park/work/hadoop-2.5.2/

export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

重新加载profile使配置生效

source /etc/profile

环境变量配置完成,测试环境变量是否生效

echo $HADOOP_HOME 


(8)重启linux

$reboot

????为什么需要重启配置文件才起作用?原因不明????

(8)格式化namenode

进入 hadoop/bin 输入命令格式化namenode

hadoop namenode -format(hdfs namenode -format  以前的方式)

在格式化的时候,会有这样的输出:

Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted


7.启动hadoop

在/home/app/hadoop-2.6.0/sbin目录下

$start-all.sh


8.关闭hadoop

在/home/app/hadoop-2.6.0/sbin目录下

$stop-all.sh


9.hdfs命令

hadoop fs -mkdir /user/trunk

hadoop fs -ls /user

hadoop fs -lsr /user   (递归的)

hadoop fs -put test.txt /user/trunk

hadoop fs -put test.txt .  (复制到hdfs当前目录下,首先要创建当前目录)

hadoop fs -get /user/trunk/test.txt . (复制到本地当前目录下)

hadoop fs -cat /user/trunk/test.txt

hadoop fs -tail /user/trunk/test.txt  (查看最后1000字节)

hadoop fs -rm /user/trunk/test.txt

hadoop fs -rmdir /user/trunk

hadoop fs -help ls (查看ls命令的帮助文档)


10.通过浏览器访问hadoop管理页面

http://[server_ip]:50070

**如果访问不了有可能是服务器50070端口被关闭了。通过如下方式打开50070端口:

service iptables status #查询防火墙状态

service iptables start #开启防火墙

iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开通特定端口

iptables -I INPUT -p tcp --dport 80 -j DROP #关闭特定端口

service iptables save #保存配置

service iptables restart #重启防火墙


软件
前端设计
程序设计
Java相关