總共分為三步:
第一步安裝配置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.xml、hdfs-site.xml、mapred-site.xml、yarn-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.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
如果成功則出現以下幾個進程,表示安裝成功