hadoop伪分布式搭建 java_hadoop2.2.0伪分布式搭建
第一步:安裝jdk
我的linux版本是centos7,使用最簡單的安裝方式,這里首先說一下,由于系統會預裝openjdk版本等其他各種版本,首先要做的是清除這些版本,然后iu安裝oracle的jdk版本
1.1 查看所有jdk版本并刪除其他jdk版本
rpm -qa | grep java
這里可以看到所有的jdk版本,我建議的做法是將所有的jdk版本都鏟除,
rpm -e ---nodeps 『jdk版本』
這里有一個小技巧,就是在終端中復制的操作是選中之后摁鼠標中健
刪除完所有的jdk版本后去官網下載jdk,保存,然后解壓,解壓位置我的是在/usr/java。
tar -zxvf jdk1.7.0_79.tar.gz -C /usr/java
解壓并且移動到/usr/java下。
配置環境變量
vim /etc/profile,按i進入編輯模式,在最后面添加JAVA_HOME等屬性
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置好之后,先按,后按shift+: ,然后按wq,保存退出編輯,終端:source /etc/profile
java -version
顯示正確版本:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
說明jdk配置成功。
第二步:安裝配置ssh
2.1 安裝和基本ssh配置
首先要做的是關閉防火墻,防止防火墻對ssh訪問拒絕
查看下防火墻狀態:
firewall-cmd --state
若顯示運行,則關閉,并設置開機不啟動。
systemctl stop firewalld.service;
systemctl disable firewalld.service.
檢測防火墻狀態:
firewall-cmd --state
顯示:no running,配置完成。
一般的linux系統都自帶ssh,首先你需要查看ssh是否真的存在:
rpm -qa | grep ssh
顯示:
openssh-server-6.6.1p1-11.el7.x86_64
openssh-6.6.1p1-11.el7.x86_64
libssh2-1.4.3-8.el7.x86_64
openssh-clients-6.6.1p1-11.el7.x86_64
類似信息說明ssh已安裝。
下面查看ssh服務是否自動啟動,使用命令行查看所有默認自啟動服務:
systemctl list-unit-files|grep enabled
如果發現sshd服務沒有啟動,則設置sshd服務自啟動
systemctl enable sshd.service
這里要說明以下,centos7的指令換成了新的,ssh指令操作指令都有以下:
systemctl enable sshd.service【設置sshd服務開機自啟動】
systemctl disable sshd.service【關閉sshd服務開機自啟動】
ystemctl start sshd.service【開始sshd服務】
systemctl stop sshd.service【關閉sshd服務】
systemctl restart sshd.service【重啟sshd服務】
reboot后,然后查看端口服務情況:
netstat -lntp
顯示如下:
1476/sshd
tcp??????? 0????? 0 127.0.0.1:631?????????? 0.0.0.0:*?????????????? LISTEN
1476/sshd
tcp6?????? 0????? 0 ::1:631???????????????? :::*??????????????????? LISTEN
ok,配置成功。
2.2 配置ssh免登陸
配置ssh免登陸首先需要root權限去修改:
/etc/ssh
下的 sshd_config文件
vim sshd_config;
將文件中三個配置解除注釋(刪除#號)
AuthorizedKeysFile ? ? ?.ssh/authorized_keys
RSAAuthentication yes
PubkeyAuthentication yes
然后保存,退出,重新啟動ssh
systemctl restart sshd.service
接下來的步驟必須是普通用戶操作,不然會導致ssh配置失敗,無法實現免密碼登錄
原因是你的.ssh文件被放在了/root目錄下,根本沒有起到作用.
生成密鑰:
ssh-keygen
一直cd ~/.ssh
cat id_rsa.pub >> authorized_keys,
ssh localhost驗證,輸入root密碼,之后會出現一個lastLogin,說明成功
第三步:配置hadoop2.2.0
下載hadoop2.2.0,這里給一個apache的所有開元項目的下載位置:achirive.apache.org
找到hadoop包,下載相應版本,我沒有下載stable幾個包里的,而是選擇下載了2.2.0版本
下載后,解壓:
cd /; mkdir hadoop;
tar -zxvf hadoop2.2.0.tar.gz -C /hadoop;
首先配置hadoop的環境變量:
vim /etc/profile;
i
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
最后的配置完整如下:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
這里的路徑是在java的path基礎上追加,以:分割。
esc,shift+:;wq;
然后配置hadoop自身配置
cd /hadoop/hadoop-2.2.0/etc/hadoop
ls
顯示:
capacity-scheduler.xml????? hdfs-site.xml?????????????? mapred-site.xml
configuration.xsl?????????? httpfs-env.sh?????????????? slaves
container-executor.cfg????? httpfs-log4j.properties???? ssl-client.xml.example
core-site.xml?????????????? httpfs-signature.secret???? ssl-server.xml.example
hadoop-env.cmd????????????? httpfs-site.xml???????????? yarn-env.cmd
hadoop-env.sh?????????????? log4j.properties??????????? yarn-env.sh
hadoop-metrics2.properties? mapred-env.cmd????????????? yarn-site.xml
hadoop-metrics.properties?? mapred-env.sh
hadoop-policy.xml?????????? mapred-queues.xml.template
這里要修改:core-site.xml ,hadoop-env.sh ,hdfs-site.xml ,mapred-site.xml,yarn-site.xml五個。
3.1 core-site.xml
haddop.tmp.dir
/hadoop/hadoop-2.2.0/tmp
fs.default.name
hdfs://localhost:9000
true
3.2 hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_79
這里是重新配置JAVA_HOME
3.3 hdfs-site.xml
dfs.namenode.name.dir
/dfs/nameNodeData
dfs.datanode.data.dir
/dfs/dataNodeData
dfs.checkpoint.ir
/dfs/secondaryNamenodeData
dfs.replication
1
3.4 mapred-site.xml
這里的配置文件并不存在,只存在mapred-site.xml.template,需要重命名
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
mapreduce.framework.name
yarn
3.5 yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
3.6 初始化hdfs
cd /hadoop/hadoop-2.2.0/bin
./hdfs namenode -format
信息中有:Storage directory /dfs/nameNodeData has been successfully formatted.
格式化成功。
3.7 開啟hdfs服務,開啟yarn服務
cd /hadoop/hadoop-2.2.0/sbin
./start-dfs.sh
這里由于沒有配置ssh免密碼登陸,所以會多次輸入密碼
./start-yarn.ssh
這里由于沒有配置ssh免密碼登陸,所以會多次輸入密碼
驗證:
localhost:50070????????????????????????????? --[dfs]
localhost:8088????????????????????????????????--[yarn]
能打開就算配置成功
第四步:配置eclipse與hadoop集成
總結
以上是生活随笔為你收集整理的hadoop伪分布式搭建 java_hadoop2.2.0伪分布式搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos6配置mysql5.7_Ce
- 下一篇: egg.js java 生产数据_Egg