在CentOS7.5上搭建Hadoop3.x
轉載地址
這篇文章只是自用,更詳細的上面地址
1、設定SSH免密登入
[root@master ~]# yum install rsync
[root@master ~]# ssh-keygen -t rsa -P ‘ ‘ -f ~/.ssh/id_rsa
[root@master ~]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
注:①第一行命令rsync是一個檔案同步和傳輸工具。rsync是用 “rsync 演算法”提供了一個客戶機和遠端檔案伺服器的檔案同步的快速方法
②第二行命令用於產生祕鑰,-t(type)表示加密型別,rsa是對稱加密,若是dsa為整數加密;-P表示密碼,空字串表示不使用密碼,-f(file)表示生成祕鑰放在哪個檔案中
③第三行命令用於把生成的(公鑰和私鑰)中的公鑰(.pub)放到需要無密碼免登入的賬戶中,其中authorized_keys不能更改。
④設定完SSH後記得用ssh localhost命令驗證一下,如果直接登入不需要密碼,則說明設定成功,如下所示:
[root@master ~]# ssh localhost
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
Last login: Sun Nov 25 21:12:21 2018 from 159.226.50.246
2、下載安裝Hadoop
[root@master ~]# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.0.3/hadoop-3.0.3.tar.gz
[root@master ~]# tar -zxvf hadoop-3.0.3.tar.gz
[root@master ~]# mv hadoop-3.0.3 /usr/local/hadoop
[root@master ~]# ll /usr/local/hadoop
注:①第二行命令用於解壓下載好的hadoop,引數z表示有gzip屬性的,x表示解壓,v表示顯示全部過程,f(必須排在所有引數之尾)後面跟檔案名
②第三行命令用於將解壓好的hadoop轉移到公共目,mv(move)。
3、hadoop配置檔案設定
所有配置檔案都在安裝目錄下的 /etc/hadoop 目錄中
3.1 修改hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
export HADOOP_HOME=/usr/local/hadoop
3.2 修改core-site.xml
在< configuration ></ configuration >標籤中貼上如下程式碼
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
如果是Hadoop2.x.x版本,則還需要在core-site.xml中追加如下鍵值對,並在對應目錄建立tmp目錄,否則SecondaryNameNode啟不來。
<property>
<name>hadoop.tmp.dir</name>
<value> file:/usr/local/hadoop/tmp/</value>
</property>
3.3 修改yarn-site.xml
yarn-site檔案儲存的是管理程式、資源管理如CPU資源、記憶體資源等。
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
3.4 修改mapred-site
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
3.5 修改hdfs-site.xml
hdfs-site為分散式系統配置檔案。
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value> file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value> file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
4、建立與格式化HDFS目錄
在安裝路徑下建立 data/hdfs/namenode 和 data/hdfs/datanode
[root@master ~]# mkdir -p /usr/local/hadoop/data/hdfs/namenode
[root@master ~]# mkdir -p /usr/local/hadoop/data/hdfs/datanode
[root@master ~]# hadoop namenode -format
注:其中mkdir用於建立檔案或目錄,-p(parents)表示建立的是目錄,若沒有此目錄,則按照後面路徑建立下去;hadoop namenode -format用於格式化目錄,其會初始化namenode中一些檔案和目錄。
5、啟動hadoop
[root@master ~]# start-dfs.sh
[root@master ~]# start-yarn.sh
[root@master ~]# start-all.sh
啟動後,輸入jps命令後,若出現6個節點則,啟動成功,否則檢視之前配置檔案的修改是否有誤。
[root@localhost sbin]# jps
62196 SecondaryNameNode
61846 NameNode
62503 ResourceManager
62634 NodeManager
61983 DataNode
63839 Jps
如果啟動報錯如下,則是之前設定Hadoop目錄許可權的時候設定使用者名稱和組名都為root了。
[root@master ~]# start-dfs.sh
Starting namenodes on [localhost]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [master]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
2018-11-26 09:29:54,896 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解決辦法:
1)則需要修改start-dfs.sh和stop-dfs.sh啟動檔案,在檔案頂部加入如下四行引數。
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
2)還需要修改start-yarn.sh和stop-yarn.sh啟動檔案,在檔案頂部加入如下三行引數。
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
6、開啟Hadoop Web介面
ResourceManager地址:http://localhost:8088/
NameNode HDFS Web地址:http://localhost:9870/
開啟本機瀏覽器,分別輸入上面兩個連結出現如下頁面則啟動成功。
小結:
datanode(資料節點)主要負責資料的儲存。
namenode(命名節點)主要負責三個功能,分別是:(1)管理後設資料;(2)維護目錄樹;(3)響應客戶請求
7、Hadoop環境變數的設定方法
可以不做,主要是為了操作簡單,不用進 /sbin 目錄
vim ~/.bashrc
在文章結尾新增
# Set Java Environment
# java安裝路徑
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
export CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# Hadoop
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre
# Hadoop安裝路徑
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
儲存退出,使環境變數的配置生效
source ~/.bashrc
相關文章
- Hadoop3.x完全分散式搭建(詳細)Hadoop分散式
- centos7.5利用yum快取搭建本地源CentOS快取
- Oracle 11.2.0.1.0在Centos7.5安裝的坑OracleCentOS
- 在 windows 上搭建一臺 LinuxWindowsLinux
- 在nginx上搭建php服務NginxPHP
- CentOS學習筆記 – 12. Nginx搭建Centos7.5遠端repoCentOS筆記Nginx
- 在CentOS 7上搭建Docker環境CentOSDocker
- 在CentOS上搭建git伺服器CentOSGit伺服器
- 在滴滴雲上搭建 MongoDB 叢集 (一):MongoDB
- 在宿主機上搭建docker映象倉庫Docker
- CentOs7.5安裝FFmpegCentOS
- centos7.5配置yum源CentOS
- 在K8S上搭建Redis叢集K8SRedis
- 國內在Minikube上搭建Knative及示例演示
- 在滴滴雲上搭建 Redis-Cluster 叢集Redis
- 在Mac上搭建自己的伺服器——NginxMac伺服器Nginx
- 在 Android 裝置上搭建 Web 伺服器AndroidWeb伺服器
- RabbitMQ系列(一)在Ubuntu上的環境搭建MQUbuntu
- 在Docker上搭建ELK+Filebeat日誌中心Docker
- 在 Ubuntu 上搭建 nginx+PHP+Laravel 環境UbuntuNginxPHPLaravel
- 用VuePress在GitHub Pages上搭建部落格VueGithub
- 在 Windows 上搭建 MQTT 訊息伺服器WindowsMQQT伺服器
- CentOS7.5修改字符集CentOS
- 在滴滴雲上搭建 API-Gateway Kong 實踐APIGateway
- 在 Windows 上搭建 React Native IOS 開發環境WindowsReact NativeiOS開發環境
- 在ECS上輕鬆搭建RDS的從例項
- RabbitMQ系列(一)RabbitMQ在Ubuntu上的環境搭建MQUbuntu
- 在linux伺服器上搭建slurm叢集部署Linux伺服器
- 使用unbound在RHEL7上搭建DNS服務DNS
- DFS 避坑手記 (docker 搭建 fastDFS 教程 / 在 CentOS 上搭建 FastDFS+nginx)DockerASTCentOSNginx
- CentOS7.5常用命令整理CentOS
- CentOS7.5升級到CentOS 7.6CentOS
- 從搭建腳手架到在npm上釋出react元件NPMReact元件
- 在 centos6.9 上 cdh-5.13.3的搭建報錯CentOS
- 在 Fedora 上搭建 Jupyter 和資料科學環境資料科學
- 在滴滴雲上學習 Kubernetes v1.13.0:叢集搭建
- 在伺服器上使用 smart http 搭建 Git 伺服器伺服器HTTPGit
- 利用NextCloud在樹莓派4b上搭建網盤Cloud樹莓派