Hadoop伪分布模式部署

Hadoop伪分布模式部署

一、配置环境

阅读下文之前,笔者默认Linux主机已安装 java jdk并配置好java的环境变量

1.在/usr/local/src下解压缩hadoop(假设hadoop压缩包放在该目录)
在/usr/local下创建软连接
ln -sv ./src/hadoop-3.0.3/ ./hadoop
2.修改环境变量
vi /etc/profile

JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

在PATH行之前增加一行内容
HADOOP_HOME=/usr/local/src/hadoop-3.0.3
修改PATH行,内容如下:
PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出
3.重新加载环境变量
source /etc/profile
验证是否生效
echo $HADOOP_HOME
4.在/root下目录创建hadoop目录,再进入hadoop目录创建data目录

cd /root
mkdir hadoop
cd hadoop
mkdir data

5.主机免密登录
验证是否已存在免密登陆,如果要求输入密码,说明不是免密登录
ssh localhost

生成秘钥文件(注意"是键盘输入两个’)

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

将秘钥文件写入免密登陆条款

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

验证免密登陆,此时不要求输入密码

ssh localhost

二、cd /usr/local/hadoop/etc/hadoop,配置文件(4个.xml结尾和一个.sh结尾文件需要配置

在这里插入图片描述
1.配置hdfs-site.xml
vi hdfs-site.xml

                <property>
                 <name>dfs.replication</name>
                 <value>1</value>
                </property>
                 <property>
                <name>dfs.namenode.http-address</name>
                <value>192.168.43.100:50070</value>
                </property>

2.配置core-site.xml
vi core-site.xml

                <property>
                <name>fs.defaultFS</name>
                <value>hdfs://192.168.43.100:9000/input</value>
                </property>

                <property>
                <name>hadoop.tmp.dir</name>
                <value>/root/hadoop/data</value>
                </property>
                <!-- 设置用户 -->
               <property>
          <name>hadoop.http.staticuser.user</name>
         <value>root</value>
             </property>
<!-- 不开启权限检查 -->
          <property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
        </property>

3.配置mapred-site.xml
vi mapred-site.xml

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

4.配置yarn-site.xml
vi yarn-site.xml

              <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
               </property>
             <property>
    		<name>yarn.nodemanager.vmem-check-enabled</name>
    		<value>false</value>
            </property>
            <property>
           <name>yarn.resourcemanager.address</name>
          <value>192.168.43.100:8032</value>
           </property>
         <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.43.100:8030</value>
        </property>
       <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>192.168.43.100:8031</value>
      </property>
     <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>192.168.43.100:8033</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>192.168.43.100:8088</value>
    </property>

退出yarn-site.xml,执行命令1 hadoop classpath >>/usr/local/hadoop/etc/hadoop/yarn-site.xml追加内容,
再次编辑yarn-site.xml,增加下面内容,(注:标签中的内容为命令1追加到yarn-site.xml的内容)

<property>
<name>yarn.application.classpath</name>
	<value>/usr/local/src/hadoop-3.0.3/etc/hadoop:/usr/local/src/hadoop-3.0.3/share/hadoop/common/lib/*:/usr/local/src/hadoop-3.0.3/share/hadoop/common/*:/usr/local/src/hadoop-3.0.3/share/hadoop/hdfs:/usr/local/src/hadoop-3.0.3/share/hadoop/hdfs/lib/*:/usr/local/src/hadoop-3.0.3/share/hadoop/hdfs/*:/usr/local/src/hadoop-3.0.3/share/hadoop/mapreduce/lib/*:/usr/local/src/hadoop-3.0.3/share/hadoop/mapreduce/*:/usr/local/src/hadoop-3.0.3/share/hadoop/yarn:/usr/local/src/hadoop-3.0.3/share/hadoop/yarn/lib/*:/usr/local/src/hadoop-3.0.3/share/hadoop/yarn/*</value>
</property>

5.配置hadoop环境变量
vi hadoop-env.sh

  export JAVA_HOME=/usr/local/java/jdk1.8.0_161

三、cd /usr/local/hadoop/sbin,配置文件(4个.sh结尾文件需要配置)在这里插入图片描述

vi start-dfs.sh

        HDFS_DATANODE_USER=root
		HADOOP_SECURE_DN_USER=hdfs
		HDFS_NAMENODE_USER=root
		HDFS_SECONDARYNAMENODE_USER=root

vi stop-dfs.sh

	HDFS_DATANODE_USER=root
	HADOOP_SECURE_DN_USER=hdfs
	HDFS_NAMENODE_USER=root
	HDFS_SECONDARYNAMENODE_USER=root

vi start-yarn.sh

	YARN_RESOURCEMANAGER_USER=root
	HADOOP_SECURE_DN_USER=yarn
	YARN_NODEMANAGER_USER=root

vi stop-yarn.sh

	YARN_RESOURCEMANAGER_USER=root
	HADOOP_SECURE_DN_USER=yarn
	YARN_NODEMANAGER_USER=root

四、格式文件系统,启动hadoop

任意目录格式化NameNode
hdfs namenode -format
启动hadoop
cd /usr/local/hadoop/sbin
./start-all.sh
输入jps命令查看进程,全部出现以下6进程即启动成功
在这里插入图片描述

(注:若上述步骤配置无误,在运行下面hadoop 运行示例时如果出错,则需执行以下命令,依次执行。

cd /usr/local/hadoop/sbin
./stop-all.sh 
cd /root/hadoop/data
rm -rf *
hdfs namenode -format
cd /usr/local/hadoop/sbin
./start-all.sh

之后再运行示例

——-------------------------------------------------------------------------------

五、进入 cd /usr/local/hadoop,运行实例

(1)./bin/hdfs dfs -mkdir -p /user/hadoop # 在HDFS中创建用户目录
(2)./bin/hdfs dfs -mkdir /input #在HDFS中创建hadoop用户对应的input目录,若显示已存在,则忽略进行下一步
(3)./bin/hdfs dfs -put ./etc/hadoop/*.xml /input #把本地文件复制到HDFS中
(4) ./bin/hdfs dfs -ls /input #查看文件列表如下图
在这里插入图片描述

(注:执行下面命令时若显示output 文件已存在则执行此命令
hadoop fs -rm -r /output

在cd /usr/local/hadoop执行命令运行wordcount示例

./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /input /output  

如下图
在这里插入图片描述

查看运行结果:
./bin/hdfs dfs -ls /output
查看输出内容
hadoop fs -text /output/part-r-00000
在这里插入图片描述

上图为输出文件列表及输出内容,示例完成


修改主机名
hostnamectl set-hostname namenode
禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
查看磁盘使用情况
hadoop dfsadmin -report

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值