selinuxの設定を無効にする
次のコマンドは、
一時的に無効に設定
setenforce 0
有効にする場合
setenforce 1
selinuxの設定を無効にする
次のコマンドは、
一時的に無効に設定
setenforce 0
有効にする場合
setenforce 1
レジストの設定を変更することより、マルチユーザアクセスできるようになります。
方法
スタット⇒regedit入力
レジストパスのHKEY_LOCAL_MACHINE \ SYSTEM \ CURRENTCONTROLSET \control\ TerminalServer\fSingleSessionPerUser
fSingleSessionPerUser存在しない場合、新規「fSingleSessionPerUser」を作成します。
fSingleSessionPerUserの値が1の場合、単ユーザです、0はマルチユーザです。
◇アカウントの権限
sudo権限を持つアカウントで下記の手順で実行します。環境変数を保つするために、実行アカウントの.bashrcに下記のaliasを追加します。
◇必要の4つアカウントを作成します
hadoop以外のアカウントでは、アカウントを作成するとき、Homeディレクトリを作成しなくてもOKです。
◇作業ディレクトリを作成します
◇Java JDKをインストール
CentOSの場合、Java OpenJDKがすでにインストールされている可能性があります。java -versionで確認できます。この文書ではOracleのjdk-7u45-linux-x64.gzを/tmp/workにダウンロードしてインストールします。
ダウンロード後解凍してインストします。
◇hadoop-2.2.0をダウロードして「/」に解凍します
◇環境変数の設定
各アカウントに環境変数をそれぞれ追加するより、/etc/profileに追加すると便利です。
#hadoop environment
export HADOOP_PREFIX=/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX
export HADOOP_COMMON_HOME=$HADOOP_PREFIX
export HADOOP_HDFS_HOME=$HADOOP_PREFIX
export HADOOP_YARN_HOME=$HADOOP_PREFIX
export YARN_HOME=$HADOOP_MAPRED_HOME
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export YARN_CONF_DIR=$HADOOP_CONF_DIR
PATH=$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$PATH
◇${HADOOP_PREFIX}/etc/hadoop/hadoop-env.shファイルに下記の変数を設定します
◇データ、コントロール情報を格納するディレクトリ領域を用意します
◇core-site.xmlファイルを下記のように設定します
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000/</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/hadoop-workspace22/tmp/${user.name}</value> </property> <property> <name>hadoop.native.lib</name> <value>true</value> <description>Should native hadoop libraries, if present, be used.</description> </property> <property> <name>hadoop.logfile.size</name> <value>10000000</value> <description>The max size of each log file</description> </property> <property> <name>hadoop.logfile.count</name> <value>15</value> <description>The max number of log files</description> </property> </configuration>
◇hadoop-env.shに変数を追加、設定します。
${HADOOP_PREFIX}/etc/hadoop/hadoop-env.shにデータ格納領域の境変数を追加します。
◇hdfs-site.xmlファイルを下記のように設定します。
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:///hadoop-workspace22/storage/${user.name}/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///hadoop-workspace22/storage/${user.name}/dfs/data</value> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///hadoop-workspace22/storage/${user.name}/dfs/namesecondary</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
◇HDFS領域をフォーマットします
◇HDFSデーモンを起動します。
◇HDFS上のディレクトリを作成し、アクセス権限を与えます
◇Web UIのアクセスURLは以下の通りです。
◇yarn-env.shに下記の環境変数を追加する
◇yarn-site.xmlファイルに下記の設定を追加する
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> <description>In case you do not want to use the default scheduler</description> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>/hadoop-workspace22/${user.name}/nm/local</value> <description> the local directories used by the nodemanager (default: /tmp/nm-local-dir) </description> </property> <!-- <property> <name>yarn.nodemanager.address</name> <value>0.0.0.0:0</value> <description>the nodemanagers bind to this port</description> </property> --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>8192</value> <description> the amount of memory on the NodeManager in GB (default: 8192) </description> </property> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>/hadoop-workspace22/logs/${user.name}/nm</value> <description> directory on hdfs where the application logs are moved to (default: /tmp/logs) </description> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>/hadoop-workspace22/logs/${user.name}/nm</value> <description> the directories used by Nodemanagers as log directories (default: /tmp/logs) </description> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <description>shuffle service that needs to be set for Map Reduce to run</description> </property> <property> <name>mapreduce.job.hdfs-servers</name> <value>${fs.defaultFS}</value> <!-- yarn-default.xml deprecated key: fs.default.name --> </property> </configuration>
◇ローカルファイルシステムのディレクトリを作成して権限を付与します
◇HDFS上に必要なディレクトリを作成します
◇yarnサービスを起動します。
◇Web UIのアクセスURLは以下の通りです
◇mapred-env.shに下記の環境変数を設定する
◇mapred-site.xmlを設定する
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> <description>The runtime framework for executing MapReduce jobs. Can be one of local, classic or yarn. (default: local) </description> </property> <property> <name>mapreduce.cluster.local.dir</name> <value>/hadoop-workspace22/mapred/local</value> <description>The local directory where MapReduce stores intermediate data files. May be a comma-separated list of directories on different devices in order to spread disk i/o. Directories that do not exist are ignored. (default: ${hadoop.tmp.dir}/mapred/local on LOCAL) </description> </property> <property> <name>mapreduce.jobtracker.system.dir</name> <value>/hadoop-workspace22/mapred/system</value> <description>The directory where MapReduce stores control files. (default: ${hadoop.tmp.dir}/mapred/system on HDFS) </description> </property> <property> <name>yarn.app.mapreduce.am.staging-dir</name> <value>/user</value> </property> <!-- <property> <name>mapreduce.jobtracker.staging.root.dir</name> <value>/user</value> <description>The root of the staging area for users' job files In practice, this should be the directory where users' home directories are located (usually /user) (default: ${hadoop.tmp.dir}/mapred/staging on HDFS) </description> </property> --> <property> <name>mapreduce.cluster.temp.dir</name> <value>/hadoop-workspace22/mapred/temp</value> <description>A shared directory for temporary files. (default: ${hadoop.tmp.dir}/mapred/temp on LOCAL) </description> </property> <property> <name>mapreduce.jobhistory.intermediate-done-dir</name> <value>/hadoop-workspace22/mapred/history/intermediate_done</value> </property> <property> <name>mapreduce.jobhistory.done-dir</name> <value>/hadoop-workspace22/mapred/history/done</value> </property> </configuration>
◇HDFS上に必要なディレクトリを追加します
◇履歴サーバーを起動します
起動失敗した場合、/hadoop-workspace22/logs/mapredにあるログファイルを確認してHDFS上のディレクトリに書き込み権限があるかどうか再確認してください
◇履歴サーバWeb UIのアクセスURLは以下の通りです
http://localhost:19888/
◇テストユーザ作成
◇HDFS上のユーザジョブ格納ディレクトリ作成
◇ジョブ実行前のプロセス
◇MapReduceテスト
◇ジョブ起動中のプロセス
◇ジョブ終了後のプロセス
◇ジョブ実行終了後、historyserverから確認します。
http://localhost:19888/jobhistory