Archive for the ‘CentOS’ tag
Antをインストール
Antのインストールは[こちら]を参考にさせていただきました。
/usr/localにインストールしますが、rootユーザーで作業を行います。
環境:CentOS 5.4
Javaバージョン:1.6.13
コマンドは、
cd /usr/local ←移動します。確認するときは、pwdコマンドを打てばカレントディレクトリの確認ができます。
apacheのサイトへ行って、一番近いインストールポイントのアドレスを見つけて、右クリックして、リンクのアドレスをコピーを選択します。次にwgetの後にスペースを一つ入れて、先ほどコピーしたアドレスを貼り付けます。
[root@nexserver local]# wget http://www.meisei-u.ac.jp/mirror/apache/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz --2010-05-05 00:05:53-- http://www.meisei-u.ac.jp/mirror/apache/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz www.meisei-u.ac.jp をDNSに問いあわせています... 202.232.192.34 www.meisei-u.ac.jp|202.232.192.34|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 9514591 (9.1M) [application/x-gzip] `apache-ant-1.8.0-bin.tar.gz' に保存中 100%[================================================>] 9,514,591 974K/s 時間 9.6s 2010-05-05 00:06:03 (968 KB/s) - `apache-ant-1.8.0-bin.tar.gz' へ保存完了 [9514591/9514591]
しばらくすると保存されます。次は解凍です。
tar zxvf /usr/local/apache-ant-1.8.0-bin.tar.gz
ダラーと解凍されているディレクトリが表示されますが、自然に止まるまで待っています。
止まったら、lsコマンドで解凍されたか確認します。
[root@nexserver local]# ls CIA bin games libexec share apache-ant-1.8.0 ec2-api-tools include nutch-0.9 src apache-ant-1.8.0-bin.tar.gz etc lib sbin tomcat
apache-ant-1.8.0←確かに解凍されています。
ディレクトリのフォルダの名前が長ったらしいので、mvコマンドでantというフォルダ名に名前変更します。
mv apache-ant-1.8.0 ant
次は環境変数の設定です。
下記2行を環境変数として登録し、sourceコマンドで反映させます。
[root@nexserver local]# echo 'export ANT_HOME=/usr/local/ant' >> ~/.bash_profile [root@nexserver local]# echo 'export PATH=$PATH:$ANT_HOME/bin' >> ~/.bash_profile [root@nexserver local]# source ~/.bash_profile
特にエラーも出てこないと思います。次にantが設定できたかant -versionコマンドで確認します。
[root@nexserver local]# ant -version Apache Ant version 1.8.0 compiled on February 1 2010
↑このように表示されればOK!!
次にJAVAで言うところの”Hello World”を作成します。
ファイルを作成するときは、touchコマンドの後ろにスペースを空けて、作成したいファイル名(拡張子付きで)を指定します。
[root@nexserver ant]# touch build.xml
次にviコマンドでファイルを開き”i”ボタンを押下して編集モードにします。
[root@nexserver ant]# vi build.xml
下記
<?xml version="1.0" ?> <project default="helloWorld"> <target name="helloWorld"> <echo message="Hello World"/> </target> </project>
をコピペして、貼り付けます。
”:wq”で保存してCloseします。
次にコンパイルします。antと入力後、ENTERボタンを押下します。
[root@nexserver ant]# ant Buildfile: /usr/local/ant/build.xml helloWorld: [echo] Hello World BUILD SUCCESSFUL Total time: 0 seconds
↑
上記のように表示されればOK!!です。
sshにパスワードなしでログインする方法
sshにパスワードなしでログインする設定をこちらを参考にして作成してみたが、環境のせいか、
いろいろつまずいたところを振り返る。
環境:CentOS5.4
[root@hdp_master ~]# ssh-keygen -t rsa -P "" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 74:80:71:18:90:0d:20:c8:e7:72:6d:c6:f2:9d:30:e4 root@hdp_master [root@hdp_master ~]# cat id_rsa.pub >> $HOME/.ssh/authorized_keys cat: id_rsa.pub: そのようなファイルやディレクトリはありません
ここでrootユーザーで作業をしていたことが原因では回帰したのでuser権限で作業することに。
$HOME/.sshの$HOMEもsshでログインしたときのディレクトリをさしているので、
デフォルトで、/home/adminが$HOMEとなる。したがって.sshへのパスは/home/admin/.sshとなる。
でもここまで何回も同じ事をやっていて、他になにか簡易的な方法がないか検索、
すると下記のコマンドで自動で作ってくれそうなのでこちらを試すことにした。
こちらのサイトを参考にさせて頂いた。
名前を、no-ssh-password.sh にして/home/adminディレクトリに作成。
[admin@hdp_master ~]$ touch no-ssh-password.sh [admin@hdp_master ~]$ vi no-ssh-password.sh
#!/bin/sh
#------------------
# set param
hosts="hdp_master hdp_sub1"
user=admin
#user=`who -m |awk {'print $1'}`
#------------------
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
for host in ${hosts}
do
ssh ${user}@${host} 'ssh-keygen -t rsa'
ssh ${user}@${host} 'cat ~/.ssh/id_rsa.pub' | cat ->> ~/.ssh/authorized_keys
done
for host in ${hosts}
do
scp ~/.ssh/authorized_keys ${host}:~/.ssh
ssh ${user}@${host} 'chmod 700 ~/.ssh ; chmod 600 ~/.ssh/*'
done
exit
中略
パラメータ設定のhosts=”hdp_master hdp_sub1″ のホストネーム hdp_sub1で設定できず、
hdp_sub1側のネットワーク設定のホスト名はこのようにしておいたがエラーでダメだったので、
IPアドレス(192.168.3.6)にして再実行したらなんとか設定ができた。
めでたしめでたし
Javaのアップデート方法1
前にHadoop機を組み立てているときに、nicが認識されないことで苦戦していたら、
ご学友の方に[CentOS]5.4を入れればnicが自然に認識されるよとお教えいただいた。
みると[CentOS]5.4のデフォルトのJavaは1.4だったので、アップデートしようとしていたところ、
[JDK1.6]をインストールして、java -version コマンドを打ってもVersion1.4が表示されるのが、なぜかわからなかった。
いちおうインストールするディレクトリは、前回から変更して/usr/javaにすることにした。 先にchmodで実行権限を付与する。[root@hdp_master java]# chmod 705 jdk-6u18-linux-i586-rpm.binインストール開始
[root@hdp_master java]# ./jdk-6u13-linux-i586-rpm.binライセンスのとろこは、spaceキーで飛ばしていき、yesを入力
Press Enter to continue….. //空enterを押下。
Done. //インストール完了!!環境設定
[root@hdp_master java]# vi /etc/profile/etc/profileの下段に3行を追加する(環境設定)
export JAVA_HOME=/usr/java/jdk1.6.0_13 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar設定内容を反映[root@hdp_master java]# source /etc/profileコンパイル&実行環境の設定
シンボリックリンクがデフォルトの/usr/bin/javaを指しているので、
あたらしいjavaを指すように設定する
念のためjdkが使用されているバージョンを確認[root@hdp_master java]# alternatives --display java新しいjavaを読むように追加する
[root@hdp_master java]# alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_18/bin/java 200 [root@hdp_master java]# alternatives --config java 2 プログラムがあり 'java' を提供します。 選択 コマンド ---------------------------------------------- *+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java 2 /usr/java/jdk1.6.0_18/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:ここで2を入力してenterを押下して完了。
最後に、java -versionと javac -versionでバージョンが同じになっていることを確認!
参考URL: http://blog.livedoor.jp/incomplete_7/archives/51918829.html
Hadoop機の作業記録
[Atom箱の作成]から、ネットに接続されているか確認したところ、デフォルトではNIC(eth0)が認識されていなかった。
そこで[参考]を元に設定したらNIC(eth0)が認識されました。
クライアントPCからsshでログインできたのを確認後、モニターとキーボード、マウスを外します。
その後、localhostとデフォルトの名前をhdp_masterと変更しました。
[root@localhost admin]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.3.8 hdp_master //←ここを追加
[root@localhost admin]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hdp_master //←ここを追加
GATEWAY=192.168.3.8 //←ここを追加
その後、[javaのアップデート]を行うため、USBでmountコマンドを使用して、usbの中身にインストールしてあった最新のJava SDKを/usr/local上で解凍、展開を行います。[USBフラッシュメモリを使うには]
しかしmountしても、/mnt/usbfmには空っぽだったので、
# dmesg
をみると
SCSI device sdb: 512000 512-byte hdwr sectors (262 MB)
とか書いてあったのでsdaではなくsdbに変えたところ、
# mount -t vfat /dev/sdb1 /mnt/usbfm/ でなんなく認識されました。
[root@hdp_master home]# ls /mnt/usbfm
hadoop-0.20.1.tar.gz jdk-6u17-linux-i586-rpm.bin r8168-8.015.00.tar.bz2
↑
中身のなかのこれを先に解凍
[root@hdp_master usbfm]# tar zxf hadoop-0.20.1.tar.gz
[root@hdp_master usbfm]# mv hadoop-0.20.1 /home/hadoop
Javaをアップデートしたかったけど、hadoopの解凍を先に行いました。(/home直下へ)
[root@hdp_master usbfm]# ./jdk-6u17-linux-i586-rpm.bin
次にJavaの最新Verをusbfm上で、解凍展開を行おうとしたら、
Please free up the required Disk Space and try again とメモリ領域が足りないということで、ディレクトリをlocalへ移動して
[root@hdp_master usbfm]# cd /usr/local
[root@hdp_master local]# ./jdk-6u17-linux-i586-rpm.bin
Do you agree to the above license terms? [yes or no]
yes
Unpacking…
Checksumming…
Extracting…
中略
For more information on what data Registration collects and
how it is managed and used, see:
http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html
Press Enter to continue…..
Done. →解凍完了!
次に環境設定を行う。
参考 http://d.hatena.ne.jp/hkano/20081014
rpmパッケージがどこにインストールされているか確認
rpmパッケージをインストールしたのだけれど、はたしてどこにそれらのファイルが格納されているか追跡するコマンド。
-qsオプションを付けてrpmコマンドを実行すると、インストールしたファイルのフルパスとインストールの状態を知ることができる。
- 通常(normal)
- インストールされていない(not installed)
- 置き換えられている(replaced)
[root@nexserver db]# rpm -qs samba
通常 /etc/logrotate.d/samba
通常 /etc/pam.d/samba
通常 /etc/rc.d/init.d/smb
通常 /etc/samba/smbusers
通常 /etc/sysconfig/samba
通常 /usr/bin/mksmbpasswd.sh
通常 /usr/bin/smbcontrol
通常 /usr/bin/smbstatus
通常 /usr/bin/tdbbackup
通常 /usr/bin/tdbdump
通常 /usr/bin/tdbtool
通常 /usr/lib/samba/vfs
通常 /usr/lib/samba/vfs/audit.so
通常 /usr/lib/samba/vfs/cap.so
以下省略
thanks to: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/195ditrpmfile.html