Hadoop伪分布式安装(3.1.3,CentOS 8)

伪分布式模式

  1. 关闭防火墙
service iptables stop 

永久关闭防火墙需额外执行:chkconfig iptables off

  1. 配置主机名
vim  /etc/sysconfig/network

进入编辑主机名:

HOSTNAME=hadoop

主机名里不能有下划线,或者特殊字符 #$
主机名属于内核参数,重启后永久生效

.p.s:可以用hostname来使主机名临时生效:

hostname  hadoop

centos8:hostnamectl 查看主机名
修改主机名:临时有效:hostname xx
永久生效:hostnamectl set-hostname xxx
删除hostname

  1. 配置hosts文件
vim /etc/hosts

填入IP和主机名,例如:

127.0.0.1 hadoop01
  1. 配置免密登录

在hadoop01节点执行:
执行:

ssh-keygen

回车生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下。
单机的伪分布式环境,节点需要登录自己节点,即hadoop要登录hadoop,但是此时是需要输入密码的。
把生成的公钥copy到远程机器上:

ssh-copy-id –i ~/.ssh/id_rsa.pub 用户@主机名

此时在远程主机的/root/.ssh/authorized_keys文件中保存了公钥,在known_hosts中保存了已知主机信息,当再次访问的时候就不需要输入密码了。
通过$ ssh [host] 检验是否可以不需密码连接。

  1. 安装和配置jdk
    安装JDK详情
    如果之前安装过旧版本的JDK,用rpm命令删除
    rz上传新版本JDK
    (使用rz,sz命令需要需要给服务器安装lrzsz:
    yum -y install lrzsz)
    解压:tar –zxvf jdk安装包
    修改配置文件:vim /etc/profile
    export JAVA_HOME=/usr/soft/jdk1.8.0_65
    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
    :wq保存退出
    source /etc/profile 使更改的配置立即生效
    java -version 查看JDK版本信息,验证是否成功。

  2. 上传和解压hadoop安装包

rz 选择文件hadoop....
tar -zxvf  hadoop....

常用目录说明:
bin:命令脚本
etc/hadoop:存放hadoop的配置文件
lib:hadoop运行的依赖jar包
sbin:启动和关闭hadoop等命令都在这里

  1. 配置hadoop-env.sh

修改hadoop的JAVA_HOME路径

cd etc/hadoop
vim hadoop-env.sh

修改java_home路径和hadoop_conf_dir 路径

source hadoop-env.sh 

如果export JAVA_HOME=${JAVA_HOME}配置错误,将来出现:
localhost: Error: JAVA_HOME is not set and could not be found.

  1. 修改core-site.xml
vim etc/hadoop/core-site.xml

配置如下:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/soft/hadoop-3.1.3/tmp</value>
</property>
 </configuration>
  1. 修改 hdfs-site.xml
    配置如下:

<!--指定hdfs保存数据副本的数量,默认值是3,伪分布模式为1-->

dfs.replication</name>
1</value>
</property>
<!--设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件-->

dfs.permissions</name>
false</value>
</property>
</configuration>
  1. 修改 mapred-site.xml
    2.x版本需要复制模板文件:mapred-site.xml.template,并重命名为mapred-site.xml
    3.x版本存在mapred-site.xml文件,不用copy,直接打开修改:


<!--指定mapreduce运行在yarn上-->
mapreduce.framework.name</name>
yarn</value>
</property>
</configuration>
  1. 修改yarn-site.xml
    配置如下:
 
<!-- Site specific YARN configuration properties -->

<!--指定resoucemanager的地址-->
yarn.resourcemanager.hostname</name>
hadoop01</value>
</property>

<!--NodeManager获取数据的方式-->
yarn.nodemanager.aux-services</name>
mapreduce_shuffle</value>
</property>
</configuration>
  1. 配置slaves文件
vim slaves

填写DataNode主机名:hadoop(我的是这个)

  1. 配置hadoop的环境变量
    配置代码:
 #Hadoop 3.0
export HADOOP_PREFIX=/home/hadoop/hadoop-3.0.0
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin

export HADOOP_COMMON_HOME=$HADOOP_PREFIX 
export HADOOP_HDFS_HOME=$HADOOP_PREFIX 
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX 

export HADOOP_INSTALL=$HADOOP_PREFIX
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native 
export HADOOP_CONF_DIR=$HADOOP_PREFIX 
export HADOOP_PREFIX=$HADOOP_PREFIX 
export HADOOP_LIBEXEC_DIR=$HADOOP_PREFIX/libexec 
export JAVA_LIBRARY_PATH=$HADOOP_PREFIX/lib/native:$JAVA_LIBRARY_PATH 
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop

source /etc/profile 使之立即生效
echo $HADOOP_HOME 测试环境变量是否生效

  1. 格式化namenode
hadoop namenode -format

输出successfully formatted证明格式化成功。
(如果失败,可尝试用reboot命令重启Linux)

  1. 启动hadoop
    在/home/app/hadoop-2.6.0/sbin目录下执行:
start-all.sh

可以用 jps 命令查看所有的Java进程,检测节点是否全部打开。(正常应有:NodeManager,NameNode,SecondaryNameNode,DataNode,ResourceManager五个节点)

你可能感兴趣的:(Hadoop生态圈,hadoop,分布式,linux,大数据,hdfs)