[大資料]hadoop 環境配置(1)
阿新 • • 發佈:2018-11-01
1 基礎環境搭建
Centos 6.4 環境 hadoop 環境搭建
1 使用者新增
sodo adduser kfk
2 hostname 更改
sudo vi /etc/sysconfig/network
3 hosts 更改
sudo vi /etc/hosts
4 關閉防火牆
sudo vi /etc/sysconfig/selinux
SELINUX = disabled
5 解除安裝系統自帶的jdk版本
1 查詢有多少版本
rpm -qa |grep java
2 將查詢到的版本都給解除安裝 jdk程序名稱就是上一步查詢的資訊
rpm -e --nodeps [jdk程序名稱1 ][jdk 程序名稱2]...
6 root使用者下設定無密碼使用者切換 kfk 可以換成你自己的使用者名稱
vi /etc/sudoers
加一行
kfk ALL = (root) NOPASSWD:ALL
2 進階配置
1 建立要使用的各個目錄
[kfk@bigdata01 ~]$ sudo mkdir /opt/softwares
[kfk@bigdata01 ~]$ sudo mkdir /opt/modules
[kfk@bigdata01 ~]$ sudo mkdir /opt/tools
[kfk@bigdata01 ~]$ sudo mkdir /opt/datas
2 將root 使用者目錄變成kfk使用者的所屬組
sudo chown -R kfk:kfk /opt/*
3 將jdk 1.7 傳到 /opt/softwares 目錄中
4 更改檔案的執行許可權
chmod u+x /opt/softwares/*
5 解壓JDK
tar -zxf jdk-7u67.tar.gz -C /opt/modules/
6 安裝jdk 配置
sudo vi /etc/profile 檔案末尾加上
##JAVA_HOME
export JAVA_HOME = /opt/modules/jdk1.7.0_67
export PATH = $PATH:$JAVA_HOME/bin
7 克隆映象
克隆 映象bigdata02 bigdata 並且配置好hosts 對映和hostname
8 shh 免密登入
主節點清空.ssh目錄
rm -rf ~/.ssh
生成公鑰和私鑰
ssh-keygen -t rsa
拷貝到各個機器
ssh-copy-id bigdata01.com
ssh-copy-id bigdata02.com
ssh-copy-id bigdata03.com
測試
ssh bigdata01.com
9 設定叢集機器時間同步 ntp
#在主節點啟動ntpd服務
sudo service ntpd start
3 Hadoop環境安裝
1 解壓hadoop 2.5.0
下載地址 hadoop下載地址
tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/
2 修改配置檔案
配置檔案都在 ${hadoop_path}/etc/hadoop 資料夾下
- vi hadoop-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
- vi core-site.xml (加入以下配置)
<property>
<name>fs.defaultFS</nam>
<value>hdfs://bigdata01.com:9000</value>#主節點的埠
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>kfk</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data/tmp</value>
</property>
- vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>#副本數
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
- vi slaves
bigdata01.com
bigdata02.com
bigdata03.com
- vi mapred-site.xml 重新命名
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata01.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata01.com:19888</value>
</property>
</configuration>
6 vi yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata01.com</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>10000</value>
</property>
</configuration>
3 啟動
0 分發到其他機器
scp -r /opt/modules/hadoop bigdata02.com:/opt/modules/
scp -r /opt/modules/hadoop bigdata03.com:/opt/modules/
1 格式化namenode
bin/hdfs namenode -format
2 啟動namenode
sbin/hadoop-daemon.sh start namenode
3 啟動datanode
sbin/hadoop-daemon.sh start datanode
4完成後可開啟 namenode_ip:50070 檢視叢集資訊
5 在另外兩個datanode機器上執行
sbin/hadoop-daemon.sh start datanode
6 測試
建立目錄
bin/hdfs dfs -mkdir -p /user/kfk/data
上傳檔案
bin/hdfs dfs -put /opt/modules/hadoop-2.5.0/etc/hadoop/core-site.xml /user/kfk/data
7 啟動yarn
#節點1 bigdata01.com
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
#節點2 bigdata02.com
sbin/yarn-daemon.sh start nodemanager
#節點3 bigdata03.com
sbin/yarn-daemon.sh start nodemanager
8測試
#wc.input 是hdfs 輸入路徑 output/1 是hdfs的輸出路徑
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/kfk/data/wc.input /user/kfk/data/output/1