HBase系列之-Hadoop環境安裝

1.創建一個單獨HBase用戶

[root@instance-n4r06itt ~]# useradd hadoop
[root@instance-n4r06itt ~]# passwd hadoop
Changing password for user hadoop.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

2.SSH設置和密鑰生成

SSH設置需要在集羣上執行不同的操作,如啓動,停止和分佈式守護shell操作。進行身份驗證不同的Hadoop用戶,需要一種用於Hadoop的用戶提供的公鑰/私鑰對,並用不同的用戶共享。

以下的命令被用於生成使用SSH密鑰值對。複製公鑰從id_rsa.pub爲authorized_keys,並提供所有者,讀寫權限到authorized_keys文件。

密鑰對生成方式參考:自動化構建系列之-GItlap添加SSH keys

[root@instance-n4r06itt ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[root@instance-n4r06itt ~]# cd ~/.ssh
[root@instance-n4r06itt .ssh]# ll
total 16
-rw------- 1 root root  398 May 19 11:00 authorized_keys
-rw------- 1 root root 1679 Apr 30 16:17 id_rsa
-rw-r--r-- 1 root root  398 Apr 30 16:17 id_rsa.pub
-rw-r--r-- 1 root root  175 May 13 18:17 known_hosts
[root@instance-n4r06itt .ssh]# chmod 0600 ~/.ssh/authorized_keys

[root@instance-n4r06itt ~]# ssh 106.12.175.83
Last login: Tue May 19 11:01:40 2020 from ::1

3.Java Jdk環境變量配置

參考:linux系列之-jdk環境變量配置

4.Hadoop下載以及服務安裝

# 下載hadoop
wget http://mirrors.advancedhosters.com/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
# 解壓
tar zxvf hadoop-3.2.1.tar.gz

修改四個配置文件:

1)修改hadoop-env.sh

vi hadoop-env.sh

添加JDK配置

export JAVA_HOME=/opt/middleware/jdk1.8.0_171

2)修改yarn-env.sh

vi yarn-env.sh

添加JDK配置

export JAVA_HOME=/opt/middleware/jdk1.8.0_171

3)修改core-site.xml

      <configuration>
      <!-- 指定HDFS老大(namenode)的通信地址 -->
            <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://0.0.0.0:9000</value>
            </property>
            <!-- 指定hadoop運行時產生文件的存儲路徑 -->
            <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/usr/src/hadoop-3.2.1/tmp</value>
            </property>
    </configuration>

4)修改mapred-site.xml

       <configuration>
      <!-- 通知框架MR使用YARN -->
            <property>
                    <name>mapreduce.framework.name</name>
                    <value>yarn</value>
            </property>
    </configuration>

5)修改hdfs-site.xml

      <configuration>
      <property>
        <name>dfs.replication</name>
        <value>1</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/src/hadoop-3.2.1/tmp_dfs/name</value>
      </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/src/hadoop-3.2.1/tmp_dfs/dfs/data</value>
      </property>
           <property>
               <name>dfs.http.address</name>
               <value>0.0.0.0:9870</value>
           </property>
    </configuration>

6)修改yarn-site.xml

      <configuration>
            <!-- reducer取數據的方式是mapreduce_shuffle -->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
      </configuration>

7)將hadoop添加到環境變量中

vim /etc/profile
export JAVA_HOME=/opt/middleware/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/jre/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin:${HADOOP_HOME}/bin
export HADOOP_HOME=/usr/src/hadoop-3.2.1
vim /etc/bashrc
export HADOOP_HOME=/usr/src/hadoop-3.2.1
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
source /etc/profile
source /etc/bashrc

8)格式化HDFS(namenode)第一次使用時要格式化

[root@instance-n4r06itt bin]# ./hdfs namenode -format

 5.Hadoop驗證

啓動:./start-dfs.sh 出現錯誤

解決辦法,start-dfs.sh以及stop-dfs.sh添加如下配置:

#!/usr/bin/env bash

HDFS_DATANODE_USER=root
#HADOOP_SECURE_DN_USER=hdfs
HDFS_DATANODE_SECURE_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

再次啓動服務

[root@instance-n4r06itt sbin]# ./start-dfs.sh 
Starting namenodes on [0.0.0.0]
Last login: Wed May 20 15:44:24 CST 2020 on pts/1
Starting datanodes
Last login: Wed May 20 15:46:54 CST 2020 on pts/1
Starting secondary namenodes [instance-n4r06itt]
Last login: Wed May 20 15:46:57 CST 2020 on pts/1
2020-05-20 15:47:24,789 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[root@instance-n4r06itt sbin]# jps
25408 DataNode
25799 Jps
25657 SecondaryNameNode
1291 jenkins.war
25262 NameNode
[root@instance-n4r06itt sbin]# ./start-yarn.sh 
Starting resourcemanager
Last login: Wed May 20 15:47:10 CST 2020 on pts/1
Starting nodemanagers
Last login: Wed May 20 15:47:41 CST 2020 on pts/1

服務啓動成功!需要注意的是Hadoop每次啓動關閉後要重新格式化HDFS(namenode)

[root@instance-n4r06itt bin]# ./hdfs namenode -format

我們來訪問兩個頁面來看一看,能正常訪問:HDFS管理界面(http://www.qy-bb.club:9870) 以及 MR管理界面(http://www.qy-bb.club:8088

 

還需要主義的是3.0以前HDFS管理界面 端口爲50070端口,3.0以後版本默認爲9870端口,我就是在端口方面走了彎路!!!

 

至此,Hadoop在Linux系統下的安裝就完畢了!!!謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章