Hadoop安装部署(伪分布式)

一、安装

1. JDK1.8.0_144

解压:tar -zxvf jdk.tar.gz -C /usr/local/
配置:vim /etc/profile

#my srttings 
	export JAVA_HOME= /usr/java/jdk1.8.0_144
	export PATE=$PATH:$JAVA_HOME/bin:

source /etc/profile
错误:source /etc/profile -提示找不到命令
  试试:A)locate source /etc/profile
  试试:B)usr/bin/source /etc/profile

2. Zookeeper 3.4.6

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/
解压:tar -zxvf ./AppPackage/zookeeper-3.4.6.tar.gz ./

创建zoo.cfg

initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper-3.4.6/logs
clientPort=2181

配置环境变量

3. hadoop 3.1.2

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
解压:tar -zxvf hadoop-3.1.2.tar.gz

二、设置配置文件

1. vim hadoop-env.sh

修改 JAVA_HOME参数:vim hadoop-env.sh

#The java implementation to use. By default, this environment
#variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=/usr/java/jdk1.8.0_144

2. vim core-site.xml

在configuration中添加各配置项:vim core-site.xml,

1)配置默认采用的文件系统。

由于存储层和运算层松耦合,要为它们指定使用hadoop原生的分布式文件系统hdfs。value填入的是uri,参数是分布式集群中主节点的地址: 指定端口号

<property>
	<name>fs.defaultFS</name>
	<value>hdfs://ZHT3:9000/</value>
</property>
2)配置hadoop的公共目录

指定hadoop进程运行中产生的数据存放的工作目录,NameNode、DataNode等就在本地工作目录下建子目录存放数据。但事实上在生产系统里,NameNode、DataNode等进程都应单独配置目录,而且配置的应该是磁盘挂载点,以方便挂载更多的磁盘扩展容量。

<property>
	<name>hadoop.tmp.dir</name>
	<value>/usr/local/hadoop-3.1.2/data/</value>
</property>

3. vim hdfs-site.xml

配置hdfs的副本数:vim hdfs-site.xml
客户端将文件存到hdfs的时候,会存放在多个副本。value一般指定3,但因为搭建的是伪分布式就只有一台机器,所以只能写1。

<property>
	<name>dfs.replication</name>
	<value>1</value>
</property>

4. vim mapred-site.xml

指定MapReduce程序应该放在哪个资源调度集群上运行。若不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。
vim mapred-site.xml

<property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
</property>

5. vim yarn-site.xml

vim yarn-site.xml,要配置的参数有2个:

1)指定yarn集群中的老大(就是本机)
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>ZHT3</value>
</property>
2)配置yarn集群中的重节点,指定map产生的中间结果传递给reduce采用的机制是shuffle
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>

三、配置环境变量PATH

vim /etc/profile
加入以及修改PATH,追加参数

export HADOOP_HOME=/usr/local/hadoop-3.1.2
export CLASSPATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

然后记得 source /etc/profile

错误:source /etc/profile -提示找不到命令
  试试:A)locate source /etc/profile
  试试:B)usr/bin/source /etc/profile

四、SSH免密码登录

通过$:ssh localhost命令查看是否需要密码,如果需要执行以下命令:

[root@centos hadoop]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_dsa
[root@centos hadoop]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[root@centos hadoop]# chmod 0600 ~/.ssh/authorized_keys

ERROR:
在这里插入图片描述
解决:
chattr可以防止关键文件被修改
  在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,可以设定该文件的"不可修改位(immutable)"。
    chattr +i authorized_keys
  如果需要修改文件则:
    chattr -i authorized_keys
  以后再修改文件。

五、启动

1. 初始化/格式化namenode

:以后如需格式化需要删除core-site.xml里面hadoop.tmp.dir配置,即hadoop的公共目录

hadoop namenode –format
2. 启停服务
全启停:
	start-all.sh
	stop-all.sh
	
模块启动:
	start-dfs.sh
	start-yarn.sh
	stop-dfs.sh
	stop-yarn.sh
	
单个hdfs模块中的进程启动:
	hadoop-daemon.sh start/stop namenode/datanode/secondarynamenode
	
单个yarn模块中的进程启动:
	yarn-daemon.sh start/stop resourcemanager/nodemanager
3. 然后输入jps 查看已成功启动的进程(5个):

HDFS:NameNode、DataNode、SeconderNameNode
YARN:ResourceManager、NodeManager
在这里插入图片描述

地址:http://192.168.0.110:9870

注:hadoop3.0以下版本web访问端口50070;3.0及以上web访问端口9870
在这里插入图片描述

其他命令:

host name hadoop01			//临时改变主机名
vi /etc/sysconfig/network	//修改主机名,重启后生效
ifconfig					//查看网卡信息
date						// 时间
date -s "2018-01-01 12:12:12"	//修改时间
vi /ect/hosts				//映射

sudo firewall-cmd --state	//查看防火墙状态
sudo systemctl stop firewalld.service	//关闭防火墙
sudo systemctl disable firewalld.service	//禁止开机时防火墙自启

echo "" > /var/log/kaa/kaa-node.log

telnet 192.168.0.110:9000
netstat -tlpn
netstat -apn | grep 3306

ERROR:

1.启动hadoop报错Attempting to operate on hdfs namenode as root

错误信息
翻译:  尝试使用root 账户去操作hdfs namenode
造成原因:缺少用户定义
解决办法
在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

2.hdfs命令报错:core.site.xml not found

在这里插入图片描述
解释:  未能找到core.site.xml
造成原因:默认是个错误的路径所以会跳错
解决办法
在环境变量 vim /etc/profile添加

export HADOOP_CONF_DIR=/usr/local/hadoop-3.1.2/etc/Hadoop

HADOOP_CONF_DIR 变量修改为自己的Hadoop目录(默认是个错误的路径所以会跳错)

记得source /etc/profile
ERROR:source /etc/profile -提示找不到命令
  试试:A)locate source /etc/profile
  试试:B)usr/bin/source /etc/profile

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值