一直想動手搭建一個Hadoop
環境
RHEL 6.5 x64環境
安裝JDK
上官網下載JDK 8,tar.gz版本,直接解壓,指定好路徑。
之後修改環境變量:
linux改環境變量是這樣的:
在/etc/profile中加入:
[code]export JAVA_HOME=/opt/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.7.2
之後執行
[code]. /etc/profile 或者 souce /etc/profile
安裝Hadoop
安裝沒啥可說的,linux到安裝,其實就是解壓到一個目錄。
我下載的是Hadoop-2.7.2,解壓路徑是
/home/hadoop/hadoop-2.7.2
配置Hadoop
我參照到是網上的配置,Hadoop2.7.1安裝與配置
注意,hadoop-2.7.2的配置文件在
{HADOOP_HOME}/etc/hadoop
下,老版本是在
{HADOOP_HOME}/conf
下的。
修改core-site.xml,在configuration中加入:
[code] <property>
<name>fs.defaultFS</name>
<value>hdfs://s204:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.7.2/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
修改hdfs-site.xml,在configuration中加入:
[code]<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.7.2/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.7.2/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>s204:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
修改mapred-site.xml,在configuration中加入:
[code] <property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>s204:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>s204:19888</value>
</property>
修改yarn-site.xml,在configuration中加入:
[code] <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>s204:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>s204:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>s204:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>s204:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>s204:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
修改hadoop-env.sh,yarn-env.sh的JAVA_HOME,JAVA_HOME改成本地的,否則會報錯:
[code] export JAVA_HOME=/opt/java
export JAVA_HOME=/opt/java/
修改/home/hadoop/hadoop-2.7.2/etc/hadoop目錄下slaves:
[code]#localhost
s205
啟動Hadoop
[code]主服務器上執行bin/hdfs namenode -format
進行初始化
sbin目錄下執行 ./start-all.sh
可以使用jps查看信息
停止的話,輸入命令,sbin/stop-all.sh
運行效果
現在只看到頁面了:
中間遇到的問題
需要修改/etc/hosts:
[code]127.0.0.1 master
127.0.0.1 slave1
127.0.0.1 slave2
127.0.0.1 s204
127.0.0.1 s205
127.0.0.1 zly
不造為啥還有個zly,如果沒有就報錯。這個配置需要檢查了。
學習到的linux命令
1、/etc/passwd
這是一個文件:
每一行用戶記錄的各個數據段用“:”分隔,分別定義了用戶的各方面屬性。
各個字段的順序和含義如下:
[code]注冊名:口令:用戶標識號:組標識號:用戶名:用戶主目錄:命令解釋程序
2、useradd 選項 用戶名
[code]語義:
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組 用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
用戶名 指定新用戶的登錄名
3、groupadd
增加組,groupadd + 組名,沒啥可說的
linux添加用戶並賦予root權限
4、vim 查找替換
從第n行開始到結束,替換全部yyy為sss:
[code]n,$s/yyy/sss/g
Vi/Vim查找替換使用方法
5、 linux 命令不起作用時怎麼辦(PATH路徑改錯後如何補救)
[code] /usr/bin/vi ~/.bashrc
用/usr/bin/vi或者/usr/bin/vim可以修改文件,但是再次執行可能不生效,因為path錯誤命令已經找不到了。
我們需要重新開一個終端,使得path生效。