一,搭建前準備工做java
Ps:整個過程請在Root用戶下進行,避免一些受權問題。node
1.設置免密碼登陸:mysql
Centos自帶了SSH,因此不用安裝ssh,直接進入主題:sql
(1) 敲命令:ssh localhost數據庫
此時會有以下提示(SSH首次登錄提示),輸入 yes 。而後按提示輸入密碼 123456,這樣就登錄到本機了。apache
(2)退出:exit;vim
(3)進入受權目錄:cd ~/.sshbash
(4)生成公鑰和私鑰:ssh-keygen -t rsassh
中途遇到的全部提示所有回車分佈式
(5)受權:cat id_rsa.pub >>authprized_keys
此時再用ssh localhost 命令,無需輸入密碼就能夠直接登錄了,以下圖所示。
2. 安裝hadoop
(1)解壓hadoop
命令:tar -zvxf Hadoop--------------.tar.gz
(2)檢查下hadoop是否解壓成功
令:
(3)修改主機名
命令:vim /etc/hosts
(4)設置 Hadoop 僞分佈式配置前,還須要設置 HADOOP 環境變量以及java環境變量,執行以下命令在 ~/.bashrc 中設置:
vim ~/.bashrc
export HADOOP_HOME=/usr/local/bigData/hadoop-2.6.0
export HADOOP_INSTALL=$HADOOP_HOME
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 JAVA_HOME=/usr/local/bigData/jdk1.7.0_79/
export PATH=$JAVA\_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
如圖:將Hadoop和jdk環境變量在最下方配置進去。
(5)保存後,執行以下命令使配置生效:
source ~/.bashrc
3.配置hadoop
(1)修改配置文件core-site.xml
修改爲如圖所示:
可複製代碼以下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置解釋:hadoop.tmp.dir這個配置的目錄實際上是配置hadoop的工做目錄,hadoop的運行數據全要在這個裏面的。如何不配置用系統默認的話,每次啓動hadoop都會丟失上一次的數據。
fs.defaultFS這個配置是配置集羣中NameNode結點的URI(包括協議、主機名稱、RPC交互端口號)
(2)修改配置文件hdfs-site.xml:
可複製代碼以下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/bigData/hadoop-2.6.0/tmp/dfs/data</value>
</property>
</configuration>
配置講解:dfs.replication這個配置是配置有幾個副本數的,即數據有多少份副本,能夠理解爲HA。
dfs.namenode.name.dir這個配置是配置namenode的工做目錄
dfs.datanode.data.dir這個配置是配置datanode的工做目錄
(3)配置完成後,執行NameNode 的格式化:
進入hadoop的bin目錄執行:./bin/hdfs namenode -format
成功的話,會看到「successfully formatted」 和 「Exitting with status 0」 的提示,若爲 「Exitting with status 1」 則是出錯。
(4)最後開啓namenode和datanode守護進程:
進入hadoop的sbin目錄執行:./sbin/start-dfs.sh
(5)而後經過jps查看是否節點所有啓動
1、配置hive
1. 解壓文件
2. yum安裝mysql服務
yum install mysql-server;
期間遇到提示一直寫Y。
3.啓動mysql服務
service mysqld start
4. 設置爲開機自啓動
chkconfig mysqld on
5.設置root用戶登陸密碼
mysqladmin -u root password 'root'
6.登陸mysql 以root用戶身份登陸
mysql -uroot -proot
7.建立hive用戶,數據庫等
insert into mysql.user(Host,User,Password) values("localhost","hive",password("hive"));
create database hive;
grant all on hive.* to hive@'%' identified by 'hive';
grant all on hive.* to hive@'localhost' identified by 'hive';
flush privileges;
8.退出mysql
exit;
9.配置hive環境變量
vim ~/.bashrc
在後面加上export HIVE_HOME=/usr/local/bigData/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
10. 刷新使其有效
source ~/.bashrc
11.修改hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL </name>
<value>jdbc:mysql://localhost:3306/hive </value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName </name>
<value>com.mysql.jdbc.Driver </value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword </name>
<value>hive </value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property>
還有須要查找配置的就是
(1)新建文件夾/usr/local/bigData/apache-hive-1.2.2-bin/iotmp/
(2)而後.查看hive-site.xml配置,會看到配置值含有"system:java.io.tmpdir"的配置項
(3)將含有"system:java.io.tmpdir"的配置項的值修改成如上地址
12.將mysql-connector-java-5.1.44-bin.jar放到hive的lib下。
13.將jline-2.12.jar拷貝到hadoop相應的目錄下,替代jline-0.9.94.jar,不然啓動會報錯
具體步驟是在Hadoop根目錄下運行命令:find ../ -name jline*
逐一替換。
14. 啓動成功。
到此,Hadoop和hive的環境搭建已經講解完畢。