1JAVAをインストールします
# tar -xzvf jdk-8u181-linux-x64.tar.gz -C /usr/local/
# vi /root/.bashrc
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
# source /root/.bashrc
# java -version
2SSHパスワードなしのログインをインストールして構成します
# rpm -qa | grep ssh查看是否安装ssh
# yum install openssh-clients
# sudo yum install openssh-server
# ssh localhost测试ssh是否可用,需要输入密码
# cd /root/.ssh若没有该目录,请先执行一次ssh localhost
# ssh-keygen -t rsa会有提示,都按回车就可以
# cat id_rsa.pub >> authorized_keys加入授权
# chmod 600 authorized_keys 修改文件权限
3Hadoop疑似配布
3.1Hadoopを解凍します
$ sudo tar -xzvf /home/hadoop/Desktop/hadoop-2.8.0.tar.gz -C /usr/local
$ cd /usr/local
$ sudo mv ./hadoop-2.8.0/ ./hadoop
$ sudo chown -R hadoop:hadoop ./hadoop/
# /usr/local/hadoop/bin/hadoop version检查是否可用,成功则显示 Hadoop 版本信息
$ sudo gedit /home/hadoop/.bashrc配置环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export HADOOP_CLASSPATH=/usr/local/hadoop/share/hadoop/common/lib
$ source /home/hadoop/.bashrc
以下を追加するかどうかを検討してください:
export HADOOP_COMMON_LIB_NATIVE_DIR = $ HADOOP_HOME / lib / native
3.2疑似配布Hadoopを構成する
(1)Hadoopは、単一ノード上で疑似分散方式で実行できます。Hadoopプロセスは別個のJavaプロセスとして実行されます。
ノードは、NameNodeとDataNodeの両方として機能します。同時に、HDFS内のファイルを読み取ります。
$ cd / usr / local / hadoop / etc / hadoop /
(2)次のファイルに注意する必要があります
hadoop-env.sh
log4j.properties
スレーブ
core-site.xmlhdfs
-site.xmlyarn
-site.xmlmapred
-site.xml.template
(3)疑似配布では、3つの構成ファイルcore-site.xmlとhdfs-site.xmlおよびスレーブを変更する必要があります
3.2.1 core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<description>The name of the default file system.</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
</configuration>
3.2.2 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>localhost:50090</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/namesecondary</value>
</property>
</configuration>
3.2.3 mapred-site.xml [ヤーンがアクティブ化されている場合に必要]
$ cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>localhost:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>localhost:19888</value>
</property>
</configuration>
3.2.4yarn-site.xml [ヤーンが開始された場合に必要]
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<!--打开HDFS上日志记录功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--在HDFS上聚合的日志最长保留多少秒。3天-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>259200</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>whether virtual memory limits will be enforced for containers</description>
</property>
</configuration>
3.2.5スレーブ
localhost
3.2.6 hadoop-env.sh
クラスタ環境では、各ノードがJAVA_HOMEで正しく設定されていても、エラーが報告される場合があります。
解決策:hadoop-env.shで、JAVA_HOME
エクスポートJAVA_HOME = / usr / local /jdk1.8.0_144を明示的に再宣言します。
3.3フォーマット開始
NameNodeフォーマットを実行し
ます[成功すると、正常にフォーマットされ、ステータス0で終了するというプロンプトが表示されます]
ストレージディレクトリ/ usr / local / hadoop / tmp / dfs / nameは正常にフォーマットされました。
$ hdfs目的-フォーマット
バスケットの内容は、フォーマットが成功したことを示しているように見えます。
(1)#start-dfs.sh start
./sbin/start-dfs.shを介してHadoopを開始すると、MapReduce環境のみが開始されます。
NameNode
SecondaryNameNode
DataNode
http:// localhost:50070、クラスターステータスを表示
http:// llocalhost:8088、ジョブの操作を表示します
(2)#stop-dfs.sh close
4YARNを開始します
[疑似配布はYARNを開始せず、通常はプログラムの実行に影響を与えません)]
YARNを開始し、YARNにリソース管理とタスクスケジューリングを任せることができます。
[さらに2つの構成ファイルmapred-site.xmlとyarn-site.xmlを変更する必要があります]
(1)構成ファイルを変更します
#cd / usr / local / hadoop / etc / hadoop /
#mv mapred-site.xml.template mapred-site.xml
#vi mapred-site.xml [構成ファイル]
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
#viyarn-site.xml【設定ファイル】
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
[YARNを起動したくない場合は、必ず構成ファイルの名前
をmapred-site.xmlに変更してください] [mapred-site.xml.templateに変更し、必要なときに元に戻します。】
(2)スタートヤーン
#start-yarn.sh start YARN
#mr-jobhistory-daemon.sh start historyserver履歴サーバーを起動して、Web上でタスクの実行ステータスを表示します。
[YARNは主に、クラスターのリソース管理とタスクスケジューリングを改善することを目的としていますが、これは単一のマシンの値を反映していません]
[逆に、プログラムの実行が少し遅くなります。したがって、1台のマシンでYARNを有効にするかどうかは、実際の状況によって異なります。】
(3)関闭YARN
#stop-yarn.sh
#mr-jobhistory-daemon.sh stop historyserver