搭建hadoop+spark+hive環境(centos全遠程hadoop極速安裝及配置)


總共分為三步:

第一步安裝配置hadoop:搭建hadoop+spark+hive環境(centos全遠程hadoop極速安裝及配置)

第二步安裝配置spark:搭建hadoop+spark+hive環境(centos極速安裝和配置spark)

第三步安裝配置hive:搭建hadoop+spark+hive環境(centos極速安裝和配置hive)

I、安裝jdk

1、下載jdk1.8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

2、解壓jdk

tar xzf jdk-8u141-linux-x64.tar.gz

3、配置jdk

①建議將jdk放在/usr/local環境下

mkdir /usr/local/java
mv jdk1.8.0_141 /usr/local/java
vi /etc/profile

②編輯環境文件

vi /etc/profile
(如果不會使用vi,可以yum install vim即可,上述命令改為vim /etc/profile)

  插入下列三行

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

退出后,source一下,覆蓋舊的環境配置

source /etc/profile

別忘記在終端輸入:java,如果出現一堆說明就是成功了,如果沒出現,就找一下問題

II、安裝hadoop2.7.7

1、下載hadoop2.7

wget  --no-cookies --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

2、解壓hadoop

tar xzf hadoop-2.7.7.tar.gz

3、配置hadoop

①同樣也是放到/usr/local中


#先創建hadoop文件夾
mkdir /usr/local/hadoop
mv hadoop-2.7.7 /usr/local/hadoop

②編輯配置文件

vim /etc/profile
#插入下面三行文件
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/sbin  
export PATH=$PATH:$HADOOP_HOME/bin
#退出並保存

③source一下

source /etc/profile

同上,最后輸入:hadoop,如果出現一堆說明就是成功了

 III、安裝mysql(這一步大家根據自己的情況安裝,本人因為要用到mysql)

1、網上教程很多,我就不細細說明了

#添加mysql源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#下載安裝mysql
yum install mysql-server
#更改mysql權限
chown root /var/lib/mysql/
service mysqld restart
#進入mysql並且修改密碼
mysql -u root
use mysql;
update user set password=password('123456') where user='root';

#開啟遠程訪問權限
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456";
flush privileges;

IV、配置hadoop文件(這里需要注意,根據你安裝的是單機還是偽分布式,還是分布式,配置均不同)

本人搭建兩機分布式

1、ssh免密登錄

因為不想每一次啟動都需要連上所有客戶機,手動開啟hadoop,因此開啟ssh免密登錄

(開啟免密登錄服務的時候會生成一個公鑰文件,將該公鑰文件給予需要連接的主機,然后改機再給予本機一個公鑰,這樣兩機互聯就不需要密碼了)

#免密登錄
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

#開啟成功
ssh localhost
#選擇yes即可

#將自己生成的公鑰賦權給其他主機
ssh-copy-id -i ~/.ssh/id_rsa.pub root@x.x.x.x

#yes,並輸入密碼后,就okl

2、修改hosts

通常我們不論是主機還是虛擬機默認用戶名都是亂七八糟的,因此需要進行統一,這樣我們容易分辨節點

#修改命令
hostnamectl set-hostname  xxx(新的主機名)

#重新連接
ssh localhost

同理,為了方便我們在配置文件中引入不同主機節點,需要將不同ip的主機以相同格式命名

#編輯hosts文件
vim /etc/hosts

#添加下列
X.X.X(本機ip)  servera
X.X.X(其他主機ip) serverb

 

3、hadoop正常啟動總共需要修改6個配置文件,均在hadoop-2.7.7/etc/hadoop目錄下,分別是hadoop-env.sh、 slaves、core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 。

①修改hadoop-env.sh配置文件

#編輯配置文件
vim /usr/local/hadoop/hadoop-2.7.7/etc/hadoop/hadoop-env.sh

#添加自己配置好的jdk環境 export JAVA_HOME=/usr/local/java/jdk1.8.0_141 export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.7/etc/hadoop

#source一下 source hadoop-env.sh

②、配置slaves文件

#編輯slaves文件
vim /usr/local/hadoop-2.7.7/etc/hadoop/slaves
#添加2個節點(刪除原先內容) serverb

③、配置core-site.xml文件

這個是核心配置文件,所以也是全局配置文件,如使用Hadoop實例分配給文件系統的存儲器,用於存儲數據的內存限制的端口號,以及讀/寫緩沖器的大小。

#編輯core-site.xml文件
vim core-site.xml

#添加下面幾行
<--!分別表示dfs默認端口和臨時文件存儲-->
<configuration>
    <property>
       <name>fs.defaultFS</name>
       <value>hdfs://servera:9000</value>
    </property>
    <property>
       <name>hadoop.tmp.dir</name>
       <value>/usr/local/hadoop/hadoop_data/tmp</value>
    </property>
</configuration>

④、修改hdfs-site.xml配置文件

顧名思義,就是hdfs文件系統的配置文件

#編輯hdfs-site.xml配置文件
vim hdfs-site.xml

#添加下面幾行
<configuration>
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>servera:50090</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    <property>
      <name>dfs.namenode.name.dir</name>
      <value>/usr/local/hadoop/hadoop_data/hdfs/name</value>
    </property>
    <property>
      <name>dfs.datanode.data.dir</name>
      <value>/usr/local/hadoop/hadoop_data/hdfs/data</value>
    </property>
</configuration>

⑤、修改mapred-site.xml配置文件

這里注意,源文件夾沒有該配置文件,只有模板文件mapred-site.xml.template,所以復制一下就行

#從模板文件復制過來
cp mapred-site.xml.template mapred-site.xml 

#編輯配置文件
vim mapred-site.xml

#加入下面幾行
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>servera:10020</value>
  </property>
  <property>
          <name>mapreduce.jobhistory.address</name>
          <value>servera:19888</value>
  </property>
</configuration>

 

⑥、修改yarn-site.xml配置文件

#編輯配置文件
vim yarn-site.xml

#添加下面這幾行
<configuration>
     <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
     </property>
     <property>
           <name>yarn.resourcemanager.address</name>
           <value>servera:8032</value>
     </property>
     <property>
          <name>yarn.resourcemanager.scheduler.address</name>
          <value>servera:8030</value>
      </property>
     <property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>servera:8031</value>
     </property>
     <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>servera:8033</value>
     </property>
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>servera:8088</value>
     </property>
</configuration>

⑦、最后還要添加slaves

#編輯slaves文件
vim slaves

#刪掉原先內容,加入子節點
serverb

這里注意,對於其他主機(如serverb),需要將上述所有操作在其他主機上重復一遍hadoop不需要重新下載和配置,直接copy過去即可

scp -r /usr/local/hadoop/hadoop-2.7.7 root@serverb:/usr/local/hadoop

V、啟動hadoop

第一步,在servera上先格式化一下

hdfs namenode -format  

第二步,啟動hadoop

#執行下面命令
start-dfs.sh 
start-yarn.sh 

#輸入jps,看看是否啟動成功
jps

如果成功則出現以下幾個進程,表示安裝成功

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM