(保姆级)Zookeeper+Hadoop+HBase的环境的配置

Hadoop的安装和配置

⚠️首先在配置之前,需要知道的是,Hadoop和HBase又一个版本对应关系,所以要安装对应的版本去下载Hadoop和HBase,否则肯定没办法配出来,对应关系如下图:

这个图可以在HBase的参考文档中找到,在官网还能看见HBase和Java对应版本的关系:

可以在本地下载好对应版本的Hadoop和HBase,然后上传上服务器,这里不再多说下载方法。直接进入正题:

#将Hadoop上传至服务器hadoop用户下的根目录
scp hadoop-2.10.0.tar.gz hadoop@xxx.xxx.x.xxx:~/

#解压至/usr/local/cluster中
tar -zxvf ~/hadoop-2.10.0.tar.gz -C /usr/local/cluster/

#进入cluster文件夹下,进行软链接
cd /usr/local/cluster
ln -s hadoop-2.10.0 hadoop

#在.bashrc中配置环境变量
vim ~/.bashrc
#添加如下语句
#hadoop
export HADOOP_HOME=/usr/local/cluster/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#使环境变量生效
source ~/.bashrc

#验证是否生效
hadoop version

#再次注意,以上的文件路径和hadoop版本跟随自己的情况修改

出现hadoop的版本信息就说明配置成功了,接下来进入hadoop的配置目录进行一些配置操作:

#进入配置目录
cd /usr/local/cluster/hadoop/etc/hadoop

#新建几个文件夹
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data

接下来的过程很重要,⚠️请注意,在配置之前要确保自己的hosts文件配置无误,如果后面出错基本都是hosts配置不对导致的,或者是没有从控制台手动打开几个端口。

需要配置的文件包括:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、slaves、hadoop-env.sh、yarn-env.sh

hadoop-env.sh、yarn-env.sh的配置都是增加一句话,即安装的java路径

#java path
export JAVA_HOME=/usr/java/jdk/jdk1.8.0_271(自行修改)

接下来是core-site.xml,可以将下面的语句直接复制进去。⚠️所有涉及到的文件路径都检查一下是不是和自己的环境,相同,不同自行修改:

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>4096</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/cluster/hadoop/etc/hadoop/tmp</value>
  </property>
</configuration>

接下来是hdfs-site.xml文件,也是将下面的复制进文件中:

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>3</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/usr/local/cluster/hadoop/etc/hadoop/hdfs/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/usr/local/cluster/hadoop/etc/hadoop/hdfs/data</value>
  </property>
  <property>
    <name>dfs.namenode.http.address</name>
    <value>master:50070</value>
  </property>
  <property>
    <name>dfs.secondary.http.address</name>
    <value>master:50090</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.permissions</name>
    <value>false</value>
  </property>
</configuration>

yarn-site.xml文件:

<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>
</configuration>

接下来是mapred-site.xml,要先通过cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml命令复制一个mapred-site.xml出来,然后复制下面内容进入文件:

<!-- Put site-specific property overrides in this file. -->

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

  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
  </property>

  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
  </property>
</configuration>

然后是slaves文件,将你的主机要连接的分机输入其中,如主机master应输入:

slave1
slave2

然后slave1和slave2按照上面的也分别配置好,然后准备开始启动hadoop了。因为是第一次启动namenode,需要对namenode进行格式化,格式化命令最好只运行一次,多次运行可能会出错,后面会说这部分。master主机运行下面命令:

hdfs namenode -format

然后所有命令只在master机上运行,首先启动hadoop的hdfs和yarn:

start-dfs.sh
start-yarn.sh

#以上命令可以用start-all.sh代替

成功后会打印信息,且可以访问:http://xxx.xxx.xxx.xxx:50070/dfshealth.html#tab-overview(填上自己的ip地址)查看是否成功,如果成功可以在Datanode Information下看见:

(设置了几个主机这里就会显示几个节点,我只配了两台,这里就会显示两个节点)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注