伪分布集群搭建
一、切換到root用戶
su - root
二、關閉selinux:vim /etc/selinux/config
SELINUX=disabled
---------------------------------------------------------------------------
三、切換到hadoop用戶,配置免密登陸。
cd 進入hadoop用戶的家目錄
ssh-keygen -t rsa [輸入完后連按4個回車]
ssh node100 [yes,輸入hadoop用戶的密碼]
ssh-copy-id node100 [輸入hadoop用戶的密碼]
四、解壓軟件包到/opt/module
cd
tar -zxvf ./jdk-8u181-linux-x64.tar.gz -C /opt/module/
tar -zxvf ./hadoop-2.7.3.tar.gz -C /opt/module/
tar -zxvf ./apache-hive-3.1.1-bin.tar.gz -C /opt/module/
五、編輯環境變量:vim ~/.bash_profile
在文件末尾添加
JAVA_HOME=/opt/module/jdk1.8.0_181
HADOOP_HOME=/opt/module/hadoop-2.7.3
HIVE_HOME=/opt/module/apache-hive-3.1.1-bin
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export PATH
六、重新加載該文件,使環境變量生效
source ~/.bash_profile
java -version
hadoop version
七、修改hadoop的配置文件:cd /opt/module/hadoop-2.7.3/etc/hadoop
1.vim ./hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
2.vim ./mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
3.vim ./yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_181
4.vim ./core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node100:9000</value>
</property>
<!-- 指定Hadoop運行時產生文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoopdata</value>
</property>
5.vim ./hdfs-site.xml
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 指定Hadoop輔助名稱節點主機配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node100:50090</value>
</property>
6.cp ./mapred-site.xml.template ./mapred-site.xml
vim ./mapred-site.xml
<!-- 指定MR運行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
7.vim ./yarn-site.xml
<!-- Reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node100</value>
</property>
<!-- 關閉虛擬內存檢查 -->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
8.vim ./slaves
node100
九、格式化hadoop集群
在node100這臺機器上執行:hdfs namenode -format
十、啟動/關閉hadoop集群
在node100這臺機器上執行:start-all.sh
在node100這臺機器上執行:stop-all.sh
十一、驗證集群
192.168.5.100:50070
192.168.5.100:8088
十二、Hadoop的wordcount
1.vim word.txt
hello python
hello java
hello scala
hello world
welcome to beijing
2.wordcount測試
hadoop fs -mkdir /test
hadoop fs -put ./word.txt /test
hadoop jar /opt/module/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/word.txt /output
hadoop fs -cat /output/part-r-00000
十三、Hive的安裝
hive --version
在hdfs上創建hive數據存放目錄
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
在hive的軟件目錄下執行初始化命令
bin/schematool -dbType derby -initSchema
初始化成功后就會在hive的安裝目錄下生成derby.log日志文件和metastore_db元數據庫
注意:離開hadoop安全模式 hadoop dfsadmin -safemode leave
MapReduce是一種傳統的面向批量任務的處理框架。像Tez這樣的新處理引擎越來越傾向于近實時的查詢訪問。隨著Yarn的出現,HDFS正日益成為一個多租戶環境,允許很多數據訪問模式,例如批量訪問、實時訪問和交互訪問。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: 第六章 模型的验证、监控与调优
- 下一篇: hive练习作业1